我有一个药物数据集,相关的化学特征,以及它们是“应答”还是“无反应”。我需要确保一旦我将数据集分成测试和训练,它们都有相同比例的响应性:无响应性。我知道如何将训练率为80%,测试率为20%的数据随机分开。不知道如何在这里进行必要的分层取样,这就是我要使用的- https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.StratifiedKFold.html
发布于 2022-05-04 13:48:39
train_test_split
函数已经有了一个参数,允许您保持y的比例。参数是stratify
;在文档中定义为“如果没有,数据以分层的方式分割,使用这个类标签”。
代码的一个例子是:
from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, stratify=y)
https://stackoverflow.com/questions/72113103
复制相似问题