ロジスティック回帰問題のdecision_function、predict_proba、predict functionの違いは何ですか?


10

私はsklearnのドキュメントを調べてきましたが、ロジスティック回帰のコンテキストでこれらの関数の目的を理解できません。decision_functionそれが超平面とテストインスタンス間の距離と述べています。この特定の情報はどのように役立ちますか?そしてこれはどのように関連しpredictpredict-proba方法ですか?

回答:


26

ロジスティック回帰の関数形は

f(x)=11+e(β0+β1x1++βkxk)

これはによって返されpredict_probaます。

指数関数内の用語

d(x)=β0+β1x1++βkxk

が返すものdecision_functionです。ドキュメントで言及されている「超平面」は

β0+β1x1++βkxk=0

この用語は、分離ベクトル超平面を文字通り推定するサポートベクターマシンからの持ち越しです。ロジスティック回帰の場合、この超平面は人工的な構造のビットであり、これは等しい確率の平面であり、モデルは両方のターゲットクラスが等しく可能性があると判断しました。

predictこの関数は、ルールを使用して、クラスの決定を返します

f(x)>0.5

soapboxingのリスクがあるため、このpredict関数には正当な用途がほとんどありません。他の作業をレビューするときに、エラーの兆候として使用することを考えています。私は十分sklearn自体のデザインエラー(それを呼び出すために行くだろうpredict_proba関数が呼び出されている必要がありますpredict、とpredict呼ばれている必要がありますpredict_classすべてのものならば、)。


@Matthewの回答に感謝しますが、この点についてもう少し明確にしてください。 」?
2018

この説明は面白くて役に立ちます。私はsklearnがそれをよりよく説明したいと思います。私が理解していないのは、ロジスティック関数1 /(1 + e ^ -x)でxの値を知ることの用途は何ですか?私が考えることができるのは、x /(1+ | x |)のような別のシグモイド関数を使用することだけです。もっとありますか?ありがとう!
ldmtwo

基本的に、決定関数はロジスティック回帰のシグモイドである必要があります。正しい?
3nomis

2
@Matthewがsoapboxにある理由は、予測のしきい値として0.5を使用するのは単純だからです。最初にすべきことは、交差検定、ROC曲線、およびAUCを使用して適切なしきい値cを選択し、決定関数としてf(x)> cを使用することを学ぶことです。
hwrd
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.