私は機械学習に全く新しいです。私はscikit-learnを使って、1つの入力変数(X)とバイナリ結果(Y)を持つ単純なロジスティック回帰モデルを作成しようとしています。私のデータは325サンプルで構成され、39回の成功と286回の失敗があります。データをトレーニングとテスト(30%)のセットに分割しました。sklearnロジスティック回帰から予測される確率が正確かどうかを判断する方法は?
私の目標は、実際には、自分のデータに基づいて任意のXについて成功の予測確率を得ることであり、分類予測そのものではありません。つまり、私が構築している別のモデルで使用する予測確率を取って、ロジスティック回帰を分類器としてまったく使用しません。予測された確率が実際にデータに適合することが重要です。
しかし、自分のモデルがデータに適しているかどうか、または計算された確率が実際に正確かどうかを理解することには問題があります。
私は次のメトリックを取得しています:
分類精度:metrics.accuracy_scoreを = 0.92(Y_testは、予測しました)。 このメトリックを理解することは、モデルが正しい予測をする可能性が高いことです。モデルが適切であるように見えます。
ログ損失:cross_val_score(ロジスティック回帰()、X、Y、得点= 'neg_log_loss'、CV = 10) = -0.26 これはおそらく私にとって最も混乱メトリック、およびなど明らかに最も重要ですそれは予測された確率の正確さです。私はゼロに近いほどスコアが良いことを知っています - しかし、どれくらい近いですか?
AUC:metrics.roc_auc_score(Y_test、probs [:, 1]) = 0.9。ここでも、ROCスコアが1に近づくほど良好であるため、これは良好に見えます。
混乱マトリックス:ここmetrics.confusion_matrix(Y_test、予測) =
[ 88, 0] [8, 2]
私の理解では、対角線はので、これはOKに見えるトレーニングセットに正しい予測の数字を与えることです。
レポート:それは良いフィット感ですのでmetrics.classification_report(Y_testは、予測) =
precision recall f1-score support 0.0 0.92 1.00 0.96 88 1.0 1.00 0.20 0.33 10 avg/total 0.93 0.92 0.89 98
この分類の報告書によると、モデルが良い精度を持ちます。 私はリコールの解釈方法がわかりません。また、このレポートが私のモデルにとって悪いニュースである場合、Sklearnの文書では、リコールはすべてのポジティブサンプルを見つけるモデル機能であると述べています。それは時間の20%のポジティブしか見つけられないのですか?それは実際にはデータに悪影響を与えるように思えます。
誰かが、私はこれらの指標正しい方法をinterpetingだということを明確にすることができれば、私は本当に感謝したい - と、おそらく私のモデルが良いか偽であるかどうかにいくつかの光を当てます。また、計算された確率が正確かどうかを判断するために他のテストがある場合は、私に知らせてください。
これは良い評価基準ではない場合は、改善の点で次に進むべき方向性について本当に感謝しています。
ありがとうございます!