Python基于Logistic回歸建模計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)示例
本文實(shí)例講述了Python基于Logistic回歸建模計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)。分享給大家供大家參考,具體如下:
一、Logistic回歸模型:

二、Logistic回歸建模步驟
1.根據(jù)分析目的設(shè)置指標(biāo)變量(因變量和自變量),根據(jù)收集到的數(shù)據(jù)進(jìn)行篩選
2.用ln(p/1-p)和自變量x1...xp列出線性回歸方程,估計(jì)出模型中的回歸系數(shù)
3.進(jìn)行模型檢驗(yàn)。模型有效性檢驗(yàn)的函數(shù)有很多,比如正確率、混淆矩陣、ROC曲線、KS值
4.模型應(yīng)用。
三、對某銀行在降低貸款拖欠率的數(shù)據(jù)進(jìn)行建模

源代碼為:
import pandas as pd filename=r'..\data\bankloan.xls' #導(dǎo)入數(shù)據(jù)路徑 data=pd.read_excel(filename) #讀取該excel文件 x=data.iloc[:,:8].as_matrix() #選取數(shù)據(jù)集中0-7行的數(shù)據(jù),形成一個(gè)矩陣 y=data.iloc[:,8].as_matrix() from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR rlr=RLR() rlr.fit(x,y) #訓(xùn)練模型 rlr.get_support() #獲取特征篩選結(jié)果 print(u'通過邏輯回歸模型篩選特征結(jié)束。') print(u'有效特征為:%s'%','.join(data.columns[rlr.get_support()])) x=data[data.columns[rlr.get_support()]].as_matrix() #篩選好的特征 lr=LR() lr.fit(x,y) print(u'邏輯回歸模型訓(xùn)練結(jié)束') print(u'模型的平均正確率:%s'%lr.score(x,y))
機(jī)器運(yùn)行結(jié)果報(bào)錯(cuò):
IndexError: boolean index did not match indexed array along dimension 0; dimension is 9 but corresponding boolean dimension is 8
解決辦法:建立一個(gè)新的矩陣data2,去掉最后一行,使維數(shù)匹配。
修改后代碼如下:
import pandas as pd filename=r'..\data\bankloan.xls' data=pd.read_excel(filename) x=data.iloc[:,:8].as_matrix() y=data.iloc[:,8].as_matrix() from sklearn.linear_model import LogisticRegression as LR from sklearn.linear_model import RandomizedLogisticRegression as RLR rlr=RLR() rlr.fit(x,y) rlr.get_support() print(u'通過邏輯回歸模型篩選特征結(jié)束。') data2=data.drop(u'違約',1) print(u'有效特征為:%s'%','.join(data2.columns[rlr.get_support()])) x=data[data2.columns[rlr.get_support()]].as_matrix() lr=LR() lr.fit(x,y) print(u'邏輯回歸模型訓(xùn)練結(jié)束') print(u'模型的平均正確率:%s'%lr.score(x,y))
機(jī)器運(yùn)行結(jié)果:

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程》
希望本文所述對大家Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
python 進(jìn)階學(xué)習(xí)之python裝飾器小結(jié)
這篇文章主要介紹了python 進(jìn)階學(xué)習(xí)之python裝飾器小結(jié),本文通過場景分析給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09
django 通過url實(shí)現(xiàn)簡單的權(quán)限控制的例子
今天小編就為大家分享一篇django 通過url實(shí)現(xiàn)簡單的權(quán)限控制的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-08-08
python網(wǎng)絡(luò)爬蟲精解之Beautiful Soup的使用說明
簡單來說,Beautiful Soup 是 python 的一個(gè)庫,最主要的功能是從網(wǎng)頁抓取數(shù)據(jù),Beautiful Soup 提供一些簡單的、python 式的函數(shù)用來處理導(dǎo)航、搜索、修改分析樹等功能,需要的朋友可以參考下2021-09-09
python實(shí)現(xiàn)代碼行數(shù)統(tǒng)計(jì)示例分享
這篇文章主要介紹了python實(shí)現(xiàn)代碼行數(shù)統(tǒng)計(jì)的示例,需要的朋友可以參考下2014-02-02
python常用操作之使用多個(gè)界定符(分隔符)分割字符串的方法實(shí)例
在使用Python處理字符串的時(shí)候,有時(shí)候會(huì)需要分割字符,下面這篇文章主要給大家介紹了關(guān)于python常用操作之使用多個(gè)界定符(分隔符)分割字符串的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01
詳解python中init方法和隨機(jī)數(shù)方法
這篇文章主要介紹了python中init方法和隨機(jī)數(shù)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

