您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Python基于Logistic回歸建模如何計算某銀行在降低貸款拖欠率的數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
具體如下:
一、Logistic回歸模型:
二、Logistic回歸建模步驟
1.根據分析目的設置指標變量(因變量和自變量),根據收集到的數據進行篩選
2.用ln(p/1-p)和自變量x1...xp列出線性回歸方程,估計出模型中的回歸系數
3.進行模型檢驗。模型有效性檢驗的函數有很多,比如正確率、混淆矩陣、ROC曲線、KS值
4.模型應用。
三、對某銀行在降低貸款拖欠率的數據進行建模
源代碼為:
import pandas as pd filename=r'..\data\bankloan.xls' #導入數據路徑 data=pd.read_excel(filename) #讀取該excel文件 x=data.iloc[:,:8].as_matrix() #選取數據集中0-7行的數據,形成一個矩陣 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'通過邏輯回歸模型篩選特征結束。') 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'邏輯回歸模型訓練結束') print(u'模型的平均正確率:%s'%lr.score(x,y))
機器運行結果報錯:
IndexError: boolean index did not match indexed array along dimension 0; dimension is 9 but corresponding boolean dimension is 8
解決辦法:建立一個新的矩陣data2,去掉最后一行,使維數匹配。
修改后代碼如下:
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'通過邏輯回歸模型篩選特征結束。') 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'邏輯回歸模型訓練結束') print(u'模型的平均正確率:%s'%lr.score(x,y))
機器運行結果:
關于“Python基于Logistic回歸建模如何計算某銀行在降低貸款拖欠率的數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。