特異度の計算に交差検定を使用したいと思います。精度、実際にはf1スコア、精度を計算するためのコードを見つけました。しかし、私は特異性のために見つけることができませんでした。たとえば、f1-scoreのコードは次のようになります。
cross_val_score(SVC, X, y, scoring="f1", cv = 7)
または精度は次のようになります。
cross_val_score(SVC, X, y, scoring="precision", cv = 7)
ありがとう。
適合率は基本的に真の負の率であり、真の正の率(再現率)と同じですが、負のクラスの場合です。
バイナリクラスがある場合は、次のようにする必要があります
recall_score
からメトリックをインポートしmetrics
(詳細はこちら)、make_scorer
関数
from sklearn.metrics import recall_score
from sklearn.metrics import make_scorer
次に、新しいスコアラーを生成し、リコールを計算するクラスを定義します(デフォルトでは、リコールはlabel = 1で計算されます)
specificity = make_scorer(recall_score, pos_label=0)
ラベル0は通常、バイナリ問題の負のクラスです。
print(cross_val_score(classifier, X_train, y_train, cv=10, specificity))
再現率(真陽性率)が必要な場合は、クラスを変更して同じことを行うことができます
sensitivity = make_scorer(recall_score, pos_label=1)
print(cross_val_score(classifier, X_train, y_train, cv=10, sensitivity))
とにかく、もっと複雑なものが必要な場合は、カスタムスコアラーを作成できます
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加