私は、バイナリ分類モデルのAUCを計算するためにsklearnを使用しています:は、どのように私は否定クラスのAUCを取得する必要がありますか?
roc_auc_score(Y_test_binary, plc.predict_proba(X_test, y_true))
それは0.810477872581を返します。私の理解に基づいて、それはモデルが正のクラスをどれだけうまく識別しているかを表しています。
はしかし、私はまた、他の側面を知りたい:私も陰性クラスのためのAUCを計算したいと思います。私はどうすればいいのですか?私は "平均"パラメータで遊ぶべきでしょうか?
============================================== ==========
「平均=なし」のドキュメントによると、「クラスごとのスコアを返さない」ことができているようです。しかし、それはまだ一つの値だけを返します。
>>> import numpy as np
>>> from sklearn.metrics import roc_auc_score
>>> y_true = np.array([0, 0, 1, 1])
>>> y_scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> roc_auc_score(y_true, y_scores, average=None)
0.75
は、私はそれが負のクラスのためにAUC話すことは理にかなっていることを確認していないクラス1のための1つの番号とクラス0
私は実際には同じ考えを持っていました。しかし、y_true = np.array([0、0、1、1])、y_scores = np.array([0.1、0.1、0.9、0.9])の例を考えてみましょう。この場合、カルセッサーは両方のクラスを非常によく区別できます。 class1にのためのAUCはclass0のAUCは0である間、両方とも1であるべきと思われる1です。 – Munichong