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 操作 xmind 繪制思維導(dǎo)圖的詳細(xì)方法
在平時(shí)的工作中當(dāng)我們要總結(jié)一些知識(shí)的時(shí)候就需要一款工具來畫畫流程圖,這里推薦 XMind 軟件,用 Xmind 繪制的思維導(dǎo)圖看起來思路清晰,那么今天的文章介紹關(guān)于思維導(dǎo)圖的相關(guān)知識(shí)以及用 Python 如何操作 Xmind 繪制思維導(dǎo)圖2021-10-10Python中時(shí)間類型的JSON數(shù)據(jù)轉(zhuǎn)換
在Python中,處理時(shí)間和日期數(shù)據(jù)以及與JSON數(shù)據(jù)的相互轉(zhuǎn)換是常見的任務(wù),本文主要為大家詳細(xì)如何在Python中處理時(shí)間類型的JSON數(shù)據(jù)轉(zhuǎn)換,需要的小伙伴可以參考下2024-02-02如何利用python實(shí)現(xiàn)kmeans聚類
K-Means是聚類算法的一種,以距離來判斷數(shù)據(jù)點(diǎn)間的相似度并對數(shù)據(jù)進(jìn)行聚類,下面這篇文章主要給大家介紹了關(guān)于如何利用python實(shí)現(xiàn)kmeans聚類的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-05-05python 計(jì)算兩個(gè)列表的相關(guān)系數(shù)的實(shí)現(xiàn)
這篇文章主要介紹了python 計(jì)算兩個(gè)列表的相關(guān)系數(shù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08python免殺技術(shù)shellcode的加載與執(zhí)行
本文主要介紹了python免殺技術(shù)shellcode的加載與執(zhí)行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04django項(xiàng)目中新增app的2種實(shí)現(xiàn)方法
這篇文章主要介紹了django項(xiàng)目中新增app的2種實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04學(xué)習(xí)Django知識(shí)點(diǎn)分享
在本篇文章里小編給大家整理的是關(guān)于學(xué)習(xí)Django的一些心得知識(shí)點(diǎn),對此有興趣的朋友們可以參考下。2019-09-09