簡體   English   中英

sklearn (scikit-learn) 邏輯回歸包——預測值

[英]sklearn (scikit-learn) logistic regression package —predict values

邏輯回歸可以幫助預測一個值是否會發生。 我想知道如何使用 sklearn 做到這一點。

我想知道這個事件是否發生的概率。

我有一個巨大的數據集(20K 行和 20 列)。 為了簡化工作,我使用隨機數據來了解如何解釋數據。

from sklearn import linear_model
import pandas as pd

dataset = pd.DataFrame({'A':np.random.rand(100)*1000, 'B':np.random.rand(100)*100,  'C':np.random.rand(100)*10, 'target':np.random.rand(100)})

X= dataset.ix[:,['A','B','C']].values
y = dataset.ix[:,['target']].values

lr = linear_model.LogisticRegression()

lr.fit(X, y)

linear_model.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) 或者我應該怎么做才能獲得每條線的概率。

我的數據有 19 列作為預測變量,最后一列作為目標(0-10 之間的值)。

更新

我得到這個結果是打印 lr.predict_proba(predictors)

[[  1.61122069e-02   1.47030433e-02   1.48213716e-02 ...,   8.08825797e-03
    6.50384553e-03   3.20953536e-03]
 [  3.91350489e-03   1.39936656e-03   3.53096458e-06 ...,   1.67332322e-02
    1.11458951e-02   6.44572229e-03]
 [  1.16547744e-02   7.98966288e-03   8.06262657e-05 ...,   9.72661281e-03
    8.09694771e-03   4.15593586e-03]
 ..., 
 [  1.26231837e-02   6.35868640e-03   3.20057785e-05 ...,   7.15622753e-03
    4.98867462e-03   1.95033329e-03]
 [  1.03813411e-02   2.30054537e-02   1.00700970e-02 ...,   8.68843317e-03
    1.25933032e-02   1.20899556e-02]
 [  2.76829605e-02   4.81774549e-03   3.62315829e-03 ...,   1.16611574e-03
    3.01633739e-04   2.84767806e-05]]

我的問題是:如何根據整體信息找到一行的概率。 我的意思是這樣的:

Data[O]
A  B    C   Target  Probability_index  
1  22  33    0        1.03813411e-02

如果我正確理解您的問題,您似乎正在嘗試根據您的某些數據確定特定類別的概率。 邏輯回歸 predict_proba 函數將返回一個矩陣,其中包含每個類的概率。 要確定每列對應於哪個類,您應該引用邏輯回歸對象中的 classes_ 變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM