2016-03-24 9 views
0

ich nicht herausfinden kann, warum bin ich diesen Fehler, weil ich ausdrücklich cv = 2 gesetzt, so wie n_fold gleich 3 sein könnte ? (Ich verwende Python 2 mit anaconda)Valueerror: Kann nicht haben Anzahl der Faltungen n_folds = 3 größer als die Anzahl der Proben: 2

import numpy as np 
from sklearn.cross_validation import cross_val_score 
from sklearn.linear_model import LogisticRegressionCV 

classifier = LogisticRegressionCV(scoring='roc_auc') 
x = np.array([[1, 2, 3], [3, 4, 9], [4, 9, 1], [8, 0, 4], [1, 1, 4], [1.1, 2, 4]]) 
y = np.array([True, False, True, False, True, False]) 
cross_val_score(classifier, x, y, cv=2) 

Nachdem der Code ausgeführt wird, erhalte ich: Valueerror: nicht Anzahl der Faltungen n_folds = 3 größer ist als die Anzahl der Proben haben: 2

+0

Welcher Fehler? Ich sehe keinen Fehler. – MTT

+0

Nun, es war im Titel. Hinzugefügt jetzt zum Fragenkörper. – Yurii

Antwort

0

Ah, meine Nutzung von LogisticRegressionCV war völlig inkorrekt. Hier ist die gültige:

import numpy as np 
from sklearn.linear_model import LogisticRegressionCV 

classifier = LogisticRegressionCV(scoring='roc_auc', cv=2) 
classifier.store_cv_values = True 
x = np.array([[1, 2, 3], [3, 4, 9], [4, 9, 1], [8, 0, 4], [1, 1, 4], [1.1, 2, 4]]) 
y = np.array([True, False, True, False, True, False]) 
classifier.fit(x, y) 
+0

und es funktioniert perfekt? – MTT

+0

einwandfrei, würde ich sagen – Yurii

Verwandte Themen