0
votes

GridSearchCv ne récupère pas moyenne_test_score à Colab

i Ran RandomforestClassifInder Code> Utilisation de GridSearchCV code> à Colab. Cependant, mygridsearchcv code> ne renvoie pas signifie signifie_test_score et montre qu'il n'existe pas. Lorsque j'ai essayé de vérifier clf.cv code> résultats em> il n'y a pas signifie_test_score.Ce travaille dans Jupyter Notebook pas à Colab et je suis récemment confronté à ce problème.

[Parallel(n_jobs=1)]: Done 120 out of 120 | elapsed: 25.3min finished
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-128-1d8f6c95affb> in <module>()
      7 clf.fit(X_tr, y_train)
      8 
----> 9 train_auc= clf.cv_results_['mean_train_score']
     10 cv_auc = clf.cv_results_['mean_test_score']

KeyError: 'mean_train_score'


1 commentaires

Veuillez afficher la définition de CLF (pas ici, modifier et mettre à jour votre message)


3 Réponses :


1
votes

En réalité, vous obtenez moyen_train_score erreur clé. Il suffit de définir retour_train_score = true dans gridsearchcv paramètres et il fera le travail.


0 commentaires

-1
votes

méchant_train_score est manquant que vous pouvez traverser ceci en utilisant

scores = rf.cv_results _

pd.dataframe (scores) .head ()

RF est votre gridsearchcv

Vous recevrez une erreur comme ci-dessous

KeyError: 'Mean_train_Score'

solution

SET RETOUR_TRAIN_SCORE = true dans GridSearchCV

rf = gridsearchcv (RF, paramètres, cv = n_folds, Scoring = "précision", retour_train_score = true)


4 commentaires

Comment est-ce différent de la solution déjà acceptée? Et pourquoi vous citez tout?


Je suis un apprenant très faible et très nouveau à l'apprentissage de la machine et à Python et à Stackoverflow. J'ai eu le même problème et avec la première réponse que je n'ai pas pu résoudre, je pensais que des personnes comme moi, une solution élaborée aiderait. Je suis désolé si j'avais tort


Mais ce que vous suggérez réellement, c'est exactement la réponse acceptée, c'est-à-dire la définition retour_train_score = true dans l'objet GridSearchCV - rien de différent. Comment que n'a pas fonctionné pour vous en premier lieu?


En fait, sont ces termes, c'est pourquoi les commentaires et les modifications sont ici pour - nous ne sommes pas censés utiliser l'espace de réponse pour commenter ou répondre à réponses . Je peux voir votre deuxième point (et non, je suis certainement pas un génie), mais encore une fois, la réponse indique clairement "définir retour_train_score = true dans < / b> paramètres de gridsearchcv ". Vous êtes également censé voir que votre message ne «regarde» (vous citez tout) et de revenir en arrière et de remédier à cela. Tout cela fait un bon cas pour la descente (qui est inclus dans les termes également). Heureux de se rétracter si vous prenez les efforts pour améliorer votre message ...



0
votes

Il peut être intéressant de noter que, vous pouvez toujours obtenir l'erreur avec moyen_train_score même si vous avez défini retour_train_score = true dans la recherche de la grille, si vous utilisez plusieurs Borders. Voici la raison. Si vous exécutez GridSearchCV avec plusieurs buteurs (par exemple, vous transmettez un paramètre à la recherche de la grille, telle que dans Scoring = {"Précision": "Précision", "F1_macro", 'AUC': 'ROC_AUC'} ) Ensuite, vous pouvez vous attendre à ce que le nom de la variable méchant_train_score dépend de ce que vous avez défini le Refit à. Par exemple, si vous avez défini Refit = 'AUC' , le nom de la variable approprié sera alors méchant_train_auduc et d'autres en conséquence. Ce sont des changements très subtils documentés dans Scikit-apprendre mais peuvent être douloureux pour détecter et traiter.


0 commentaires