2017-12-14 21 views
1

이진 분류의 로지스틱 회귀 분석에서 predict()을 사용하는 동안 분류자가 분류 (1/0)를 어떻게 결정합니까?로지스틱 회귀 분석의 혼용 행렬

확률 임계 값을 기준으로합니까?> 0.5, 1 이외의 경우 0입니까? 그렇다면이 임계 값을 수동으로 변경할 수 있습니까?

나는 우리가 predict_prob()에서 확률을 얻는다는 것을 알고 있지만, 나는 predict() 기능에 대해 궁금해했다!

+0

그것은 확률이 가장 높은 클래스를 선택합니다의 합 있기 때문에, 확률 50 % 이상으로 클래스를 반환합니다. – pault

답변

1

로지스틱 회귀는 다른 분류 모델과 마찬가지로 각 클래스에 대한 확률을 반환합니다. 이진 예측 자이기 때문에 두 클래스 만 있습니다.

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