sklearnのロジスティック回帰を使用して、12のパラメータと{0,1}のラベルを持つモデルを構築しています。私はラベル0について非常に自信を持っている必要がありますが、一部の「0」が1に分類されていれば問題ありません。データが0に分類されている場合、データを処理から除外したいと考えています。ロジスティック回帰で可能性の高い特定のラベルを予測する
どのようにパラメータを調整できますか?
sklearnのロジスティック回帰を使用して、12のパラメータと{0,1}のラベルを持つモデルを構築しています。私はラベル0について非常に自信を持っている必要がありますが、一部の「0」が1に分類されていれば問題ありません。データが0に分類されている場合、データを処理から除外したいと考えています。ロジスティック回帰で可能性の高い特定のラベルを予測する
どのようにパラメータを調整できますか?
基本的には、TN/(TN+FP)
として定義されている特異性を探しています。ここでTNはTrue Negative、FPはFalse Positiveです。この詳細については、blog post以降のdetail hereをご覧ください。あなたは次のようにsklearnにconfusion_matrix metricとともにmake_scorerを使用する必要があり、この実装するには:
from sklearn.metrics import confusion_matrix
from sklearn.metrics import make_scorer
def get_TN_rate(y_true,y_pred):
tn, fp, fn, tp = confusion_matrix(y_true, y_pred).ravel()
specificity = float(tn)/(float(tn)+float(fp))
return specificity
tn_rate = make_scorer(get_TN_rate,greater_is_better=True)
を今すぐあなたの分類器を訓練するためにスコアリング関数としてtn_rate
使用することができます。
私は言葉がなく、これは私が探していたものです!どうもありがとう! – Vitaliy
私はいくつかの助けになることができてうれしいです:-) –
あなたの声明:「ラベル0について非常に自信を持っている必要があります。「0」が1にミス分類される場合は大丈夫です.'は矛盾しています。まず、ラベル0についてはかなり確かめておく必要があると言っています。そしてそれを誤認するのは大丈夫です。 –
結婚して申し訳ありません。言い換えれば、私は確信しています:私はテストデータのために0を得た場合、確率は99%に近い非常に高いですが、私が1を得た場合、私は低い確率で大丈夫です。それは理にかなっていますか? – Vitaliy