我想使用分层采样(scikitlearn)将我的数据集分为训练集和测试集。我的方法如下:
1)我正在读取 CSV 文件并使用 pandas readCSV 加载它。所以最终我将加载的 csv 存储在名为“数据集”的数据帧中
dataset = pd.readCSV('CSV_NAME)
2)现在我应用分层抽样:
train,test = train_test_split(dataset,test_size=0.20,stratify=True)
但它抛出以下错误:
TypeError: Singleton array array(True, dtype=bool) cannot be considered a valid collection.
所以请建议我正确的做法。
最佳答案
'train_test_split'需要知道目标变量是什么。因此,您应该将您的调用更改为:
train,test = train_test_split(dataset[needed columns], dataset.target,test_size=0.20,stratify=True)
关于python-3.x - python scikit-learn 中的分层采样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45706785/