2017-04-03 5 views
0

교차 유효성 검사를 하나 남기고 싶습니다.교차 유효성 검사 관련 문제

AttributeError       Traceback (most recent call last) 
<ipython-input-19-f15f1e522706> in <module>() 
     3 loo = LeaveOneOut(num_of_examples) 
     4 #loo.get_n_splits(X_train_std) 
----> 5 for train, test in loo.split(X_train_std): 
     6  print("%s %s" % (train, test)) 

AttributeError :하지만 난 오류가 아래에 무엇입니까 'LeaveOneOut'개체가 어떤 속성을 '분할'

자세한 코드는 다음과 같다 없습니다 :

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) 

from sklearn.preprocessing import StandardScaler 
sc = StandardScaler() 
sc.fit(X_train) 
X_train_std = sc.transform(X_train) 
X_test_std = sc.transform(X_test) 

from sklearn.cross_validation import LeaveOneOut 
num_of_examples = len(X_train_std) 
loo = LeaveOneOut(num_of_examples) 
for train, test in loo.split(X_train_std): 
print("%s %s" % (train, test)) 
+0

(http://scikit-learn.org/stable/modules/generated/sklearn.model_selec 'loo.get_n_splits (X_train)'을 사용하여 설정을 먼저 분할해야하는 것처럼 보입니다. – Julien

+0

완전한 오류 메시지를 포함하십시오. – DyZ

+0

이것은 읽을 수 없습니다. 원래 질문을 편집하고 완전한 오류 메시지를 포함하십시오. – DyZ

답변

0

을 당신이 사용하고 있다고 생각 scikit-0.18 이하 버전을 배우고 버전 0.18에 대한 자습서를 참조 할 수 있습니다.

0.18 이전 버전의 경우 생성자에는 게시 한 위 코드에서 제공하지 않은 필수 매개 변수 n이 필요합니다. 따라서 오류.

Parameters: n : int Total number of elements in dataset.

해결 방법 : 다음과 같이 버전으로 scikit가 배울

편집 :

당신이 scikit 버전> = 0.18 사용하는 경우

:

그렇지
from sklearn.model_selection import LeaveOneOut 
for train_index, test_index in loo.split(X): 
    print("%s %s" % (train_index, test_index)) 
    X_train, X_test = X[train_index], X[test_index] 
    y_train, y_test = y[train_index], y[test_index] 

이 버전 < 0.18 여기 loo.split() 사용하지 않는 것을 알 (이 같은 반복 사용을, loo)는 직접 사용된다 다큐먼트로부터

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)) 
    X_train, X_test = X[train_index], X[test_index] 
    y_train, y_test = y[train_index], y[test_index] 
+0

이전 오류를 제거하는 데 필요한 변경을했는데 해결 방법을 모르는 또 다른 오류가 있습니다. 초기 코드를 다시 수정했습니다. – Shelly

+0

@Shelly 어떤 버전의 Scikit을 사용하고 있습니까?. 변경 사항을 반영하기 위해 답변을 편집했습니다. –

+0

Kumer : sklearn.model_selection에서 가져 오기 import LeaveOneOut이 오류가 발생합니다. ImportError : 'sclearn.model_selection'이라는 이름의 모듈이 내 scikit 버전을 나타내지 만 0.18을 넘지 않습니다. 그리고 내 초기 코드의 오류는 "sklearn.cross_validation import LeaveOneOut"을 사용했기 때문에가 아닙니다. – Shelly

관련 문제