PyInv

プログラミングのメモ、海外投資のメモ

続続Modelの評価 - Precision-Recall Curve (RecallとPrecisionの可視化)

RecallとPrecisioinの可視化


前準備としてDecision Function

SVC等で推定された境界平面からそのアウトプットへの距離。例えばX_testをインプットした時のアウトプット(y_predicted)がどれだけモデルの境界から遠いかを算定する。似たものとしてpredict_proba(0-1にスケーリングしたもの)がある。
(自分にはもう 限界なのでもっとすごい人の説明を参照求む)

Structure

Sklearnモデルのmethodとして

y_scores_lr = lr.fit(X_train, y_train).decision_function(X_test)


Precision-recall curves

decision functionのであらわされる値を閾値(threshold)としてRecallとPrecisionの組み合わせを返す

Structure
precision, recall, thresholds = precision_recall_curve(y_test, y_scores_lr)
from sklearn.metrics import precision_recall_curve

f:id:singapp:20200218122106p:plain

全体をグラフとして可視化する以外に、precision, recall, thresholdの各値をターゲットに他の2つの値を導出
例えば、thresholdsのうち最小なもののインデックスを取り出して

closest_zero = np.argmin(np.abs(thresholds))

それに対応するprecisionを取り出す

closest_zero_p = precision[closest_zero]