2017-04-07 11 views
0

以下のエラーをどのように削除することができますか?LeaveOneOut scikitのクロスバリデーションLearn

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)) 
+0

コード内でtrainとtestを定義していませんでした。 –

+0

@Miriam実際に私はこのリンクのLeave One Out(LOO)に従ってこの部分を書いた:http://scikit-learn.org/stable/modules/cross_validation.html – Shelly

+0

下記の私の答えを見てください。また、関連ドキュメントは、cross_validationからLeaveOneOutをインポートするときにhttp://jaquesgrobler.github.io/Online-Scikit-Learn-stat-tut/modules/generated/sklearn.cross_validation.LeaveOneOut.htmlとなっています。 –

答えて

0

あなたはあなたの中にtraintestを定義していませんでしたコード。あなたがtrain_indexを印刷したいとtest_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が関連している可能性があります。

関連する問題