Python 在Sklearn中漏掉一个

Python 在Sklearn中漏掉一个,python,scikit-learn,Python,Scikit Learn,我在这个领域很新。我正在使用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" %

我在这个领域很新。我正在使用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)

我理解原因,但不知道在这里传递什么。

LeaveOneOut
的导入行更改为

from sklearn.model_selection import LeaveOneOut
()。那么你的代码应该可以工作了


如果您想从sklearn.cross\u validation导入它,那么语法有点不同()。

您应该传递数据集中的元素总数。以下代码供您参考

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]