7

LogisticRegression.predict_proba関数は正確に何を返しますか?私の例ではscikit-logisticRegression.predict_probaの返り値

私はこのような結果を得る:シグモイド関数を使用して、他の計算から

[[ 4.65761066e-03 9.95342389e-01] 
[ 9.75851270e-01 2.41487300e-02] 
[ 9.99983374e-01 1.66258341e-05]] 

、私は2番目の列は確率であることを、知っています。 documentationによれば、最初の列はn_samplesですが、私のサンプルはレビューであり、テキストであり数字ではないからです。ドキュメントには、第2列がn_classesであることも記載されています。私は2つのクラス(すなわち+1-1)しか持っておらず、関数は実際にクラスであるサンプルの確率を計算することになっていますが、クラス自体ではないので、確かにできません。

実際に最初の列は何ですか、なぜそこにあるのですか?

答えて

14
4.65761066e-03 + 9.95342389e-01 = 1 
9.75851270e-01 + 2.41487300e-02 = 1 
9.99983374e-01 + 1.66258341e-05 = 1 

最初の列は、エントリが-1ラベルを有し、第2列は、エントリが+1ラベルを有する確率である確率です。

プラスラベルの予測確率を取得する場合は、logistic_model.predict_proba(data)[:,1]を使用できます。これにより、結果は[9.95342389e-01, 2.41487300e-02, 1.66258341e-05]になります。

+0

私はまったくそれを見ませんでした!迅速な説明をいただきありがとうございます。私は今、ドキュメンテーションが話していることよりも前に不思議です。 – Zelphir

+2

ドキュメントには、次のように書かれています。モデル内の各クラスのサンプルの確率を返します。 @ Zelphir:あなたはドキュメントで見た:[n_samples、n_classes]。これは出力を参照します。行はサンプル、列はクラス(-1,1)の行列を返します。 Iulianが言ったように、クラスごとに-1の確率予測とクラスが1の確率を得るでしょう。 –

+0

@Sanderああ、今は構造を理解しています。 – Zelphir

関連する問題