![](/img/trans.png)
[英]sklearn (scikit-learn) logistic regression package — set trained coefficients for classification.
[英]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.