machine-learning - Scikit learn 中是否有库或工具用于将子类数据集拆分为文件夹中的训练/测试集

标签 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
   |  |---------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

因此,我正在寻找一种高效且专业的工具,可以帮助我将数据集拆分到训练/测试集的文件夹中。

最佳答案

我建议使用 train_test_split sklearn 库中的函数。它有参数 - 分层。对于此参数,您可以指定数据集中的几列进行分层。

例如:

X_train, X_test, y_train, y_test = train_test_split(Dataset, 
                                                    Dataset['Class'],
                                                    test_size=0.1, 
                                                    stratify=Dataset[['Sub-Class']])

关于machine-learning - Scikit learn 中是否有库或工具用于将子类数据集拆分为文件夹中的训练/测试集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59519714/

相关文章:

python - 在scikit-learn中拟合后如何得到方程?

docker - 如何将 google 实例设置保存为 docker 镜像?

python - 使用机器学习预测 NA(缺失值)

python - python中分类变量的knn插补

python - 在我们可以使用列变量进行建模之前,列的方差有多大是可以接受的?

python - 如何使用Tensorflow进行信号处理?

python - 如何在 MinMaxScaler 中对矩阵中的列使用 inverse_transform

python - 在 Sklearn 中留下一个

python - TensorFlow - 如何在不同的测试数据集上使用经过训练的模型进行预测?

machine-learning - 如何解释机器学习模型的损失和准确性