バイナリ分類のロジスティック回帰では、predict()
を使用している間に、分類器はクラス(1/0)をどのように決定しますか?ロジスティック回帰における混同行列
確率しきい値に基づいていますか?> 0.5、1 else else?その場合は、このしきい値を手動で変更できますか?
私はpredict_prob()
から確率を得ることを知っていますが、私はpredict()
の機能について興味がありました!
バイナリ分類のロジスティック回帰では、predict()
を使用している間に、分類器はクラス(1/0)をどのように決定しますか?ロジスティック回帰における混同行列
確率しきい値に基づいていますか?> 0.5、1 else else?その場合は、このしきい値を手動で変更できますか?
私はpredict_prob()
から確率を得ることを知っていますが、私はpredict()
の機能について興味がありました!
ロジスティック回帰は、他の分類モデルと同様に、各クラスの確率を返します。バイナリ・プレディクタであるため、2つのクラスしかありません。
source codeから、predict()
は、最も高いクラス確率を持つクラスを返します。
def predict(self, X):
"""Predict class labels for samples in X.
Parameters
----------
X : {array-like, sparse matrix}, shape = [n_samples, n_features]
Samples.
Returns
-------
C : array, shape = [n_samples]
Predicted class label per sample.
"""
scores = self.decision_function(X)
if len(scores.shape) == 1:
indices = (scores > 0).astype(np.int)
else:
indices = scores.argmax(axis=1)
return self.classes_[indices]
クラス確率= 1
の合計が、それが最も高い確率でクラスを選ぶので、そうです、この場合には、50%を上回る確率でクラスを返します。 – pault