Machine learning Scikit learn中是否有用于将子类数据集拆分为文件夹中的训练集/测试集的库或工具
我有一个不平衡的8个类数据集,每个类中有4个子类,我想将其拆分为测试/训练集的文件夹,数据集如下所示:Machine learning Scikit learn中是否有用于将子类数据集拆分为文件夹中的训练集/测试集的库或工具,machine-learning,scikit-learn,deep-learning,dataset,artificial-intelligence,Machine Learning,Scikit Learn,Deep Learning,Dataset,Artificial Intelligence,我有一个不平衡的8个类数据集,每个类中有4个子类,我想将其拆分为测试/训练集的文件夹,数据集如下所示: Dataset |------ Class A | |---------Sub-Class 1 | |---------Sub-Class 2 | |---------Sub-Class 3 | |---------Sub-Class 4 | |------ Class B | |---------Sub-Class 1 | |
Dataset
|------ Class A
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class B
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class C
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class D
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class E
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class F
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class G
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
|
|------ Class K
| |---------Sub-Class 1
| |---------Sub-Class 2
| |---------Sub-Class 3
| |---------Sub-Class 4
因此,我正在寻找一种高效、专业的工具,可以帮助我将数据集拆分为训练集/测试集文件夹。我建议使用sklearn库中的函数。它具有参数-分层。对于此参数,可以从数据集中为分层指定几列
例如:
X_train, X_test, y_train, y_test = train_test_split(Dataset,
Dataset['Class'],
test_size=0.1,
stratify=Dataset[['Sub-Class']])
您可以使用sklearn.model\u选项中的train\u test\u split()函数。下面是一个将数据分为20%测试和80%训练的示例
X_-train,X_-test,y_-train,y_-test=train_-test\u split(X,y,test\u size=0.2)您可以使用拆分文件夹库将文件夹拆分为train、test和validation文件夹,或仅拆分为train和validation文件夹。下面给出了链接,您可以查看它
我不希望它们作为数组,因为我使用的是.flow\u from\u directory keras函数,而且我没有太多的Ram来使用该方法。您可以尝试添加一个步骤:*构建数据帧['Class','Sub Class','real\u path']*使用
train\u test\u split
*将文件复制到train或test目录中,我会尝试一下,我不希望它们作为数组,因为我使用的是.flow\u from\u directory keras函数,我没有太多的内存来使用这种方法。请不要只是发布一个链接,而是在你的答案中包含解决方案的基本部分。