Ich habe ein Klassenungleichgewicht im Verhältnis 1:15, dh eine sehr niedrige Ereignisrate. Um die Abstimmungsparameter von GBM in Scikit Learn auszuwählen, möchte ich Kappa anstelle der F1-Punktzahl verwenden. Mein Verständnis ist, dass Kappa eine bessere Metrik als die F1-Punktzahl für das Klassenungleichgewicht ist.
Aber ich konnte Kappa als Evaluierungsmetrik in Scikit Learn hier nicht finden . Sklearn.metrics .
Fragen
- Gibt es eine Problemumgehung für die Aufnahme von Kappa in gridsearchcv?
- Gibt es eine andere bessere Metrik, die ich beim Scikit-Lernen anstelle von Kappa verwenden kann?
machine-learning
classification
python
predictive-modeling
scikit-learn
GeorgeOfTheRF
quelle
quelle
Antworten:
Cohens Kappa wurde in Scikit-Learn 0.17 eingeführt.
Sie können es in make_scorer einschließen, um es in GridSearchCV zu verwenden.
quelle
make_scorer()
konvertiert Metriken in Callables, die für die Modellbewertung verwendet werden können. Dasscoring
Argument erwartet eine Funktionscorer(estimator, X, y)
. Es wird also fehlschlagen, wenn Sie versuchen,scoring=cohen_kappa_score
direkt zu übergeben, da die Signatur unterschiedlich istcohen_kappa_score(y1, y2, labels=None)
. Dasmake_scorer
akzeptiert auch zusätzliche Argumente wielabels
voncohen_kappa_score
.Neben dem Link in der vorhandenen Antwort gibt es auch ein Scikit-Learn-Labor, in dem Methoden und Algorithmen experimentiert werden.
Für den Fall, dass Sie mit dem neuesten Code arbeiten können, ist diese Bibliothek eine gute Referenz.
Der Kappa Cohen ist auch eine der Metriken in der Bibliothek , die in nimmt
true labels
,predicted labels
,weights
undallowing one off?
als Eingabeparameter. Offensichtlich würde die Metrik von reichen[-1, 1]
.Sie können sich auch den Implementierungscode ansehen , falls Sie einen Beitrag leisten möchten.
Hinweis: Cohens Kappa ist auch in Scikit-Learn implementiert .
Ja, es gibt Alternativen zur Cohen Kappa-Metrik.
quelle