我正在使用三个标签X
对数据集0,1,2
进行交叉验证。要获得培训和测试索引,我使用scikit-learn
:
from sklearn.cross_validation import StratifiedKFold
cv = StratifiedKFold(labels, n_folds=5)
for train_idx, test_idx in cv:
# do my classification
train_data = X[train_idx]
train_labels = labels[train_idx]
# etc..
但是,我实际上只想进行成对分类,所以我只需要涉及标签0,1
的索引子集。不幸的是,我无法改变数据集X
。无论如何都要修改cv
对象?我知道我可以修改每个折叠中的train_idx
和test_idx
并将它们保存在一个单独的容器中,但我最好还是想要一个sklearn.cross_validation.StratifiedKFold
对象。谢谢你的帮助!