02 14 scikit learn庫之邏輯回歸

2022-02-22 18:52:12 字數 2331 閱讀 2945

目錄二、logisticregressioncv

三、logistic_regression_path

人工智慧從入門到放棄完整教程目錄:

相比較線性回歸,由於邏輯回歸的變種較少,因此scikit-learn庫中的邏輯回歸類就比較少,只有logisticregressionlogisticregressioncvlogistic_regression_path

接下來將會討論這三者的區別,由於是從官方文件翻譯而來,翻譯會略有偏頗,有興趣的也可以去scikit-learn官方文件檢視 ,需要注意邏輯回歸和線性回歸都在sklearn.linear_model包中。

邏輯回歸一般使用於分類場景,可以使用引數讓普通的二元分類問題變成多分類問題。

from sklearn.datasets import load_iris

from sklearn.linear_model import logisticregression

x, y = load_iris(return_x_y=true)

clf = logisticregression(random_state=0, solver='lbfgs', max_iter=100,

multi_class='multinomial')

# 由於迭代更新次數太少,演算法無法收斂,報錯

clf.fit(x, y)

"of iterations.", convergencewarning)

logisticregression(c=1.0, class_weight=none, dual=false, fit_intercept=true,

intercept_scaling=1, max_iter=100, multi_class='multinomial',

n_jobs=none, penalty='l2', random_state=0, solver='lbfgs',

tol=0.0001, verbose=0, warm_start=false)

clf = logisticregression(random_state=0, solver='lbfgs', max_iter=1000,

multi_class='multinomial')

clf.fit(x, y)

logisticregression(c=1.0, class_weight=none, dual=false, fit_intercept=true,

intercept_scaling=1, max_iter=1000, multi_class='multinomial',

n_jobs=none, penalty='l2', random_state=0, solver='lbfgs',

tol=0.0001, verbose=0, warm_start=false)

clf.predict(x[:2, :])
array([0, 0])
clf.predict_proba(x[:2, :])
array([[9.81579028e-01, 1.84209573e-02, 1.44796627e-08],

[9.71349907e-01, 2.86500630e-02, 3.01442199e-08]])

clf.score(x, y)
0.9733333333333334
不同類別資料量不平衡問題,如0類有1個資料,1類有999個資料,如果不考慮權重問題,則模型基本會把所有的未來新樣本**為1類,因此則可以手動適當增加0類的權重,也可以使用class_weight='balanced'自動提高0類的權重。

將癌症人士分類為健康人士的會有很大的風險,有時候寧願讓健康人士被分類為癌症認識,然後再通過人工甄別他們的健康情況,通常這個時候可以適當提高癌症人士的權重。

logisticregressioncv模型在目標函式和優化方式類似於logisticregression,但是可以自己手動輸入10組、100組引數\(c\),該模型會通過交叉驗證後給你這組引數中最優模型。

logistic_regression_path模型比較特殊,它擬合資料後,不能直接來做**,只能為擬合資料選擇合適邏輯回歸的係數和正則化係數,一般用在模型選擇的時候。由於不經常使用這個類,所以此處不多贅述。

線性回歸 scikit learn

線性回歸即是我們希望能通過學習來得到乙個各屬性線性組合的函式,函式的各項係數表明了該屬性對於最後結果的重要性,可以用以下公式表達 y x 1 x1 2x2 pxp b線性回歸試圖讓各個點到回歸直線上的距離和最小,即最小化均方誤差。可用以下公式描述 min x y 22 matplotlib inli...

scikit learn工具安裝

最近老師布置了乙個cnn神經網路的任務,詞向量得到的原理和卷積神經網路工作的原理已經講過了,現在主要安裝scikit learn工具,利用tf idf方法來得到詞向量。在網上也發現了不少st learn工具的安裝教程,不過還是有點亂,自己整理一下,能幫助別人的話更好啦。首先,安裝sk learn需要...

Scikit learn快速入門

基礎入門的知識,我就不重複造輪子了。直接上 想看 詳細解釋的,看上面的部落格。匯入模組 from future import print function 匯入sklearn中的資料集 from sklearn import datasets 匯入測試集 from sklearn.cross val...