GridSearchCV scoring und grid_scores_
Ich versuche zu verstehen, wie sich die Werte der Torschütze für die GridSearchCV. Der Beispielcode stellt eine kleine pipeline auf text-Daten.
Dann setzt es eine grid-search über verschiedene ngrams.
Die Wertung erfolgt über die f1-Maß:
#setup the pipeline
tfidf_vec = TfidfVectorizer(analyzer='word', min_df=0.05, max_df=0.95)
linearsvc = LinearSVC()
clf = Pipeline([('tfidf_vec', tfidf_vec), ('linearsvc', linearsvc)])
# setup the grid search
parameters = {'tfidf_vec__ngram_range': [(1, 1), (1, 2)]}
gs_clf = GridSearchCV(clf, parameters, n_jobs=-1, scoring='f1')
gs_clf = gs_clf.fit(docs_train, y_train)
Nun kann ich drucken Sie das erreicht souverän mit:
drucken gs_clf.grid_scores_
[mean: 0.81548, std: 0.01324, params: {'tfidf_vec__ngram_range': (1, 1)},
mean: 0.82143, std: 0.00538, params: {'tfidf_vec__ngram_range': (1, 2)}]
drucken gs_clf.grid_scores_[0].cv_validation_scores
array([ 0.83234714, 0.8 , 0.81409002])
Es ist mir nicht klar aus der Dokumentation:
-
Ist gs_clf.grid_scores_[0].cv_validation_scores ein array mit den Punkten definiert durch die scoring-parameter, pro Fach (in diesem Fall die f1-Maßnahmen pro Fach) ? Wenn nicht, was ist es dann?
-
Wenn ich stattdessen wählen Sie ein anderes Metrik, wie scoring='f1_micro', wobei jedes array in gs_clf.grid_scores_[i].cv_validation_scores enthält die f1_micro Metrik für die Falten für ein bestimmtes grid-search-parameter Auswahl?
- Ja, Sie verstehen richtig
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schrieb ich die folgende Funktion konvertiert ein
grid_scores_
Objekt zu einempandas.DataFrame
. Wir hoffen, dass der dataframe Ansicht wird helfen, klare Ihre Verwirrung, wie es ist ein intuitiver format:Müssen Sie die folgenden import für diese Arbeit:
import pandas as pd
.