Ich arbeite an einem unsymmetrischen Daten, mit Undersampling habe ich die beiden Klassen im gleichen Verhältnis gemacht.WARUM wird ein Fehler beim Abstimmen von n_estimators für RandomForestClassifier mit cross_val_score erzeugt?
X_undersample dataframe (984,28)
y_undersample dataframe(984,1)
Ich bin mit Random Klassifikator, um die besten Parameter n_estimators
Ich bin mit Kreuzvalidierung zu finden. Hier ist der Code unten.
j_shout=range(1,300)
j_acc=[]
for j in j_shout:
lr = RandomForestClassifier(n_estimators = j, criterion = 'entropy', random_state = 0)
score=cross_val_score(lr,X_undersample,y_undersample,cv=10,scoring='accuracy')
print ('iteration',j,':cross_validation accuracy=',score)
j_acc.append(score.mean())
jetzt, wenn ich dies ausführen, erhalte ich den folgenden Fehler.
File "<ipython-input-43-954a9717dcea>", line 5, in <module>
score=cross_val_score(lr,X_undersample,y_undersample,cv=10,scoring='accuracy')
File "D:\installations\AC\lib\site-packages\sklearn\cross_validation.py", line 1562, in cross_val_score
cv = check_cv(cv, X, y, classifier=is_classifier(estimator))
File "D:\installations\AC\lib\site-packages\sklearn\cross_validation.py", line 1823, in check_cv
cv = StratifiedKFold(y, cv)
File "D:\installations\AC\lib\site-packages\sklearn\cross_validation.py", line 569, in __init__
label_test_folds = test_folds[y == label]
IndexError: too many indices for array
Ich versuche, die n_estimators
auf kleinere Werte zu ändern, aber es immer noch die gleichen Fehler
wow danke so sehr, es hat funktioniert – danishxr