我是这个领域的新手。我正在使用 spyder 来运行我的代码:我正在尝试从 sklearn 运行简单的留一法交叉验证代码:
from sklearn.cross_validation import train_test_split
from sklearn.cross_validation import LeaveOneOut
X = [1, 2 ,3, 4]
loo = LeaveOneOut()
for train, test in loo.split(X):
print ("%s %s" %(train, test))
我收到以下错误:
TypeError: __init__() takes exactly 2 arguments (1 given)
我明白了原因,但不知道要在这里传递什么。
最佳答案
您应该传递数据集中元素的总数。以下代码供大家引用
import numpy as np
from sklearn.cross_validation import LeaveOneOut
X = np.array([1, 2 ,3, 4])
loo = LeaveOneOut(4)
for train_idx, test_idx in loo:
print X[train_idx], X[test_idx]
关于python - 在 Sklearn 中留下一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42895463/