【问题标题】:LeaveOneOut Cross Validation in scikit learnscikit learn中的LeaveOneOut交叉验证
【发布时间】:2017-09-02 06:53:36
【问题描述】:

有人知道我可以如何消除下面的错误吗?

NameError                                 Traceback (most recent call last)
<ipython-input-31-d3625a93ead4> in <module>()
     11 loo = LeaveOneOut(num_of_examples)
     12 for train_index, test_index in loo:
---> 13     print("%s %s" % (train, test))
     14 

NameError: name 'train' is not defined

导致错误的代码如下:

from sklearn import datasets
import numpy as np
from sklearn.preprocessing import StandardScaler

iris = datasets.load_iris()
X = iris.data[:, [2, 3]]
y = iris.target
X, y
from sklearn.cross_validation import train_test_split
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

sc = StandardScaler()
sc.fit(X_train)
X_train_std = sc.transform(X_train)
X_test_std = sc.transform(X_test)
num_of_examples = len(X_train_std)

这是我得到错误的地方:

from sklearn.cross_validation import LeaveOneOut
loo = LeaveOneOut(num_of_examples)
for train_index, test_index in loo:
    print("%s %s" % (train, test))

【问题讨论】:

标签: scikit-learn cross-validation


【解决方案1】:

您没有在代码中定义 traintest。如果你想打印 train_indextest_index 你应该这样做:

from sklearn.cross_validation import LeaveOneOut
loo = LeaveOneOut(num_of_examples)
for train_index, test_index in loo:
    print("%s %s" % (train_index, test_index))

此外,this documentation 可能是相关的。

【讨论】:

    猜你喜欢
    • 2016-04-25
    • 1970-01-01
    • 2012-01-07
    • 2015-06-22
    • 2016-05-09
    • 2021-10-25
    • 2015-12-11
    • 2018-04-02
    • 2019-03-22
    相关资源
    最近更新 更多