问题描述
我想对二进制分类问题应用一对交叉验证(LPOCV)。对于选择为保持/测试对的每一对样本,它应该是每个二进制类别中的一个样本。
我的代码如下:
from sklearn.model_selection import LeavePOut
import numpy as np
X = np.array([[1,2],[3,4],[5,6],[7,8],[9,10]])
y = np.array([0,1,0])
lpo = LeavePOut(2)
print(lpo.get_n_splits(X))
print(lpo)
LeavePOut(p=2)
for train_index,test_index in lpo.split(X):
print("TRAIN:",train_index,"TEST:",test_index)
X_train,X_test = X[train_index],X[test_index]
y_train,y_test = y[train_index],y[test_index]
输出类似于:
LeavePOut(p=2)
TRAIN: [2 3 4] TEST: [0 1]
TRAIN: [1 3 4] TEST: [0 2]
TRAIN: [1 2 4] TEST: [0 3]
TRAIN: [1 2 3] TEST: [0 4]
TRAIN: [0 3 4] TEST: [1 2]
TRAIN: [0 2 4] TEST: [1 3]
TRAIN: [0 2 3] TEST: [1 4]
TRAIN: [0 1 4] TEST: [2 3]
TRAIN: [0 1 3] TEST: [2 4]
TRAIN: [0 1 2] TEST: [3 4]
测试对 [0 3] 和 [0 4] 属于同一类 0 。他们有没有办法用包含0和1类样本的测试对拆分 X 数据?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)