2017-12-14 37 views
1

バイナリ分類のロジスティック回帰では、predict()を使用している間に、分類器はクラス(1/0)をどのように決定しますか?ロジスティック回帰における混同行列

確率しきい値に基づいていますか?> 0.5、1 else else?その場合は、このしきい値を手動で変更できますか?

私はpredict_prob()から確率を得ることを知っていますが、私はpredict()の機能について興味がありました!

+0

の合計が、それが最も高い確率でクラスを選ぶので、そうです、この場合には、50%を上回る確率でクラスを返します。 – pault

答えて

1

ロジスティック回帰は、他の分類モデルと同様に、各クラスの確率を返します。バイナリ・プレディクタであるため、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

+0

よろしくお願いいたします。 それでは、最尤推定はどこに現れますか? それが完全に無関係なら、私はすみません。 – neerdy30

+0

これは、数学のオーバーフローに適した質問です。以下は[wikiページ](https://en.wikipedia.org/wiki/Logistic_regression#Maximum_likelihood_estimation)です。 – pault

+0

MLEは、訓練されたいくつかのデータに基づいてモデルの係数を計算しようとする場合に適しています。次に、モデル係数を使用して、新しいデータに対して予測が行われます。 – ilanman

関連する問題