Je travaille sur des données déséquilibrées, en utilisant le sous-échantillonnage, j'ai fait les deux classes dans la même proportion.Pourquoi une erreur est-elle générée lors de l'ajustement de n_estimators pour RandomForestClassifier à l'aide de cross_val_score?
X_undersample dataframe (984,28)
y_undersample dataframe(984,1)
J'utilise classificateur forêt d'arbres décisionnels, afin de trouver le meilleur paramètre n_estimators
J'utilise la validation croisée. voici le code ci-dessous.
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())
Maintenant, lorsque j'exécute ceci, j'obtiens l'erreur suivante.
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
J'essaie de changer le n_estimators
à des valeurs plus petites mais montrant toujours la même erreur
wow merci beaucoup cela a fonctionné – danishxr