2

나는 훈련과 같은 데이터 세트했습니다 : 하나 개의 샘플의일부 십진수 데이터에 scikit-learn의 LogisticRegression을 적용하려면 어떻게해야합니까?

0.00479616 | 0.0119904 | 0.00483092 | 0.0120773 | 1 
0.51213136 | 0.0113404 | 0.02383092 | -0.012073 | 0 
0.10479096 | -0.011704 | -0.0453692 | 0.0350773 | 0 

처음 4 열되어 기능을하고, 마지막 열은 출력입니다.

data = np.array(data) 
    lr = linear_model.LogisticRegression(C=10) 

    X = data[:,:-1] 
    Y = data[:,-1] 
    lr.fit(X, Y) 

    print lr 
    # The output is always 1 or 0, not a probability number. 
    print lr.predict(data[0][:-1]) 

내가 로지스틱 회귀는 항상해야는 0과 1

+0

당신이 달성하고 싶은 이유를 로지스틱 회귀 당신이 무엇을 달성하고자하는 적합한 알고리즘이라고 생각합니까? –

답변

12

사용 사이의 확률 수 확률을 얻을 수있는 predict_proba 방법을 제공합니다 생각 :

나는 scikit이 방법을 사용합니다. predict은 클래스 레이블을 제공합니다.

>>> lr = LogisticRegression() 
>>> X = np.random.randn(3, 4) 
>>> y = [1, 0, 0] 
>>> lr.fit(X, y) 
LogisticRegression(C=1.0, class_weight=None, dual=False, fit_intercept=True, 
      intercept_scaling=1, penalty='l2', random_state=None, tol=0.0001) 
>>> lr.predict_proba(X[0]) 
array([[ 0.49197272, 0.50802728]]) 

은 (당신이 documentation을 읽을했다면, 당신은이를 발견 한 것입니다.)

+0

정말 감사합니다. 예측의 품질을 평가하는 방법을 알고 있습니까? 가장 쉬운 방법은 ... – MrROY

+0

@MrROY : scikit-learn 0.14a1의 최신 버전에는 sklearn.metrics에'predict_proba' 출력의 음수 로그 가능성을 제공하는'log_loss' 함수가 있습니다. –

+0

X [0]은 첫 번째 열 또는 전체 열을 기준으로 예측 된 이벤트를 나타 냅니까? (X는 여기에 3 개의 열이 있음) – user3378649