溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)

發(fā)布時(shí)間:2021-08-25 14:09:30 來(lái)源:億速云 閱讀:315 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章將為大家詳細(xì)講解有關(guān)Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù),小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

具體如下:

一、Logistic回歸模型:

 Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)

二、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)用。

三、對(duì)某銀行在降低貸款拖欠率的數(shù)據(jù)進(jìn)行建模

Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)

源代碼為:

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'通過(guò)邏輯回歸模型篩選特征結(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'通過(guò)邏輯回歸模型篩選特征結(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é)果:

 Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)

關(guān)于“Python基于Logistic回歸建模如何計(jì)算某銀行在降低貸款拖欠率的數(shù)據(jù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI