python - 在 Sklearn 中留下一个

标签 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" %(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/

相关文章:

python - 如何让窗口中的滚动条起作用?

python - sklearn 的 Adaboost predict_proba 如何在内部工作?

python - 在朴素贝叶斯(Python、scikit)中使用稀疏矩阵/在线学习

python-3.x - 如何使用 scikit-learn 组合具有不同维度输出的特征

python - AWS Lambda 未读取环境变量

python - 如何在 Python 中检查列表(或数组)上的条件,然后根据该条件对元素进行排序

python - 解释嵌套列表理解的工作原理?

python - 使用 Pandas 对同一工作簿的多个工作表进行 pd.read_excel()

python - Scikit learn 的 AttributeError : 'LabelEncoder' object has no attribute 'classes_' ?

python - “help” 通过将 2 个特征绑定(bind)在一起的决策树