Ich versuche zu verstehen, wie Sie die Werte des Scorers für die GridSearchCV erhalten. Der folgende Beispielcode richtet eine kleine Pipeline für Textdaten ein.GridSearchCV Scoring und grid_scores_
Dann richtet es eine Rastersuche über verschiedene Ngrams ein.
Die Bewertung wird durch die f1 Maß getan:
#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)
Jetzt kann ich die Noten drucken mit:
Druck 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)}]
Druck gs_clf.grid_scores_ [0] .cv_validation_scores
array([ 0.83234714, 0.8 , 0.81409002])
Es ist mir nicht klar, aus dem documentation:
Ist gs_clf.grid_scores_ [0] .cv_validation_scores ein Array mit den Noten durch die Scoring-Parameter definiert, je Falte (in diesem Fall sind die f1 Maßnahmen pro falten)? Wenn nicht, was ist es dann?
Wenn ich stattdessen eine andere metric wie scoring = ‚f1_micro‘ wählen, jedes Array in gs_clf.grid_scores_ [i] .cv_validation_scores die f1_micro Metrik für die Falten für eine bestimmte Rastersuche Parameterauswahl enthalten?
Ja, Sie verstehen richtig – maxymoo