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列的特點和最後一列是它的輸出。

我用scikit這樣:

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]) 

我想Logistic迴歸應該總是給人predict_proba方法獲取概率0和1

+0

你要什麼來實現呢?爲什麼你認爲迴歸是你想達到什麼正確的算法? –

回答

12

使用之間的概率號。 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'中有一個函數'log_loss',它給出'predict_proba'輸出的負對數似然性。 –

+0

X [0]是否表示基於第一列或整個列(X在此處具有3列)的預測事件 – user3378649

相關問題