介紹
邏輯回歸是一個常見的分類模型,他的公式非常簡單,是y= 1/(1+e^-(wx+b)),它跟線性回歸的區(qū)別就是多了一個分類函數(shù) ,cls(x) = 1/(1+e^-x)。
常規(guī)任務
一般來說,我們習慣用邏輯回歸做分類任務,然后通過precision,recall,accuracy等指標去判斷這個模型學習的效果 。如果這些指標學習的不太好,我們可以通過w的各個維度的值來判斷模型學習的方向是否符合業(yè)務。
數(shù)據(jù)準備
我們需要的數(shù)據(jù)是 m行 ,n列 的表格數(shù)據(jù), csv 或者是Excel都可以。
我這里用pandas 自帶的read excel進行xlsx文件的讀取。
注意在機器學習中,n是 維度。那么我們的csv文件應該有一列是 label , 也就是y
其他列都是x。
環(huán)境準備
python 3
在命令行輸入
pip install pandas
pip install sklearn
基本上完成安裝
基本代碼
import pandas as pd
df = pd.read_excel('xxx.xlsx')
y = df['label']
features = [....]
X = df[features]
logreg = linear_model.LogisticRegression(C=1e3)
logreg.fit(X,y)
res = logreg.score(X,y)
print(res)
這些代碼基本上就訓練好一個模型了
參數(shù)
邏輯回歸模型本身可以調(diào) penalty , 也就是 lasso 和ridge 正則, 還有就是對應的C參數(shù),c越小,表示模型復雜度約束越緊。
模型參數(shù)查看
w = model.coef_.tolist()[0]
b = model.intercept_.tolist()[0]
有了這兩個, 你就可以根據(jù) wx+b對數(shù)據(jù)的分數(shù)進行排序了。
你會發(fā)現(xiàn), w越大,y越靠近 1/(1+1/(e^ 無窮)) = =1/(1+0)=1 ,也就是概率越大