Je souhaite appliquer une méthode wrapper comme l'élimination des entités récursives sur mon problème de régression avec scikit-learn. Recursive feature elimination with cross-validation donne un bon aperçu, comment régler le nombre de fonctionnalités automatiquement.Élimination récursive des fonctions avec validation croisée pour la régression dans scikit-learn
J'ai essayé ceci:
modelX = LogisticRegression()
rfecv = RFECV(estimator=modelX, step=1, scoring='mean_absolute_error')
rfecv.fit(df_normdf, y_train)
print("Optimal number of features : %d" % rfecv.n_features_)
# Plot number of features VS. cross-validation scores
plt.figure()
plt.xlabel("Number of features selected")
plt.ylabel("Cross validation score (nb of correct classifications)")
plt.plot(range(1, len(rfecv.grid_scores_) + 1), rfecv.grid_scores_)
plt.show()`
mais je reçois un message d'erreur comme
`The least populated class in y has only 1 members, which is too few.
The minimum number of labels for any class cannot be less than n_folds=3. % (min_labels, self.n_folds)), Warning)
L'avertissement sonne comme j'ai un problème de classification, mais ma tâche est un problème de régression. Que puis-je faire pour obtenir un résultat et qu'est-ce qui ne va pas?
Wan vous nous montrer votre 'y_train'? – MMF
Mon y_train a 1 colonne et ~ 10.000 lignes avec des valeurs comprises entre 1 et 200. – matthew
Les valeurs sont-elles des entiers? Si oui, je pense qu'il le considère comme un problème de classification multiclasse. Essayez de convertir les valeurs en flottants. – MMF