Logistic回歸,即Logistic回歸分析,是一種廣義的線性回歸模型,常用于數(shù)據(jù)挖掘,疾病自動(dòng)診斷,經(jīng)濟(jì)預(yù)測等領(lǐng)域。
Logistic回歸分析的因變量是:0、1,或者是否(二分類);自變量可以是連續(xù)的也可以是分類的,通過Logistic回歸分析得到自變量的權(quán)重
Logistic回歸屬于概率型非線性回歸,分為二分類和多分類的回歸模型(二分類就是因變量只有2種取值,多分類就是因變量有多種取值)
Logistic回歸建模步驟
1)根據(jù)分析目的設(shè)置指標(biāo)變量(因變量和自變量),然后收集數(shù)據(jù),根據(jù)收集到的數(shù)據(jù)對特征再次進(jìn)行篩選
2)y取1的概率是,取0的概率是
,用
和自變量列出線性回歸方程,估計(jì)出模型中的回歸系數(shù)
3)進(jìn)行模型檢驗(yàn)。模型的有效性的檢驗(yàn)指標(biāo)有很多,最基本的有正確率,其次有混淆矩陣、ROC曲線、KS值等
4)模型應(yīng)用:輸入自變量的值,就可以得到預(yù)測變量的值
小栗子
這里使用書中提供的數(shù)據(jù)集,銀行拖欠貸款的數(shù)據(jù)為例
大概是這一個(gè)樣子

df = pd.read_excel(data_path)
df.head()

首先,我們得識(shí)別下這個(gè)數(shù)據(jù),從數(shù)據(jù)看上來,“違約”是因變量,0、1表示是否,而其他的變量:年齡、教育等就是自變量,所以,我們就是要通過這些自變量來預(yù)測用戶是否會(huì)違約
后面,我們要做一個(gè)特征篩選,就是選取哪些自變量來進(jìn)行回歸分析
上面,我們已經(jīng)識(shí)別出自變量和因變量(也就是X和Y)
x = df.iloc[:,:8].values
y = df.iloc[:,8].values

from sklearn.linear_model import LogisticRegression as LR
from sklearn.linear_model import RandomizedLogisticRegression as RLR
書中使用的是sklearn的包
這里引入了邏輯回歸模型LogisticRegression
然后,還有一個(gè)問題,就是RandomizedLogisticRegression,這個(gè)我在文檔上找不到
貌似是隨機(jī)邏輯回歸模型,用來篩選變量的,使用的時(shí)候,會(huì)提示說不推薦使用了,等我再研究一下看看怎樣
rlr = RLR()
rlr.fit(x , y)

rlr.get_support()
df.iloc[:,:8].columns[rlr.get_support()]

這里獲取的就是我們最終的特征,特征篩選完成之后,就可以調(diào)用邏輯回歸模型了
x = df[df.iloc[:,:8].columns[rlr.get_support()]].values
lr = LR()
lr.fit(x,y)
lr.score(x,y)

最后的這個(gè)分?jǐn)?shù)就是模型的準(zhǔn)確率
小栗子到這里是結(jié)束了,但是其中使用的幾個(gè)模型思想,參數(shù)啥的,還沒有準(zhǔn)確的理解,還要再摸索學(xué)習(xí)一下