最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

R語言邏輯回歸(Logistic Regression)、回歸決策樹、隨機(jī)森林信用卡違約分析信貸數(shù)據(jù)集

2022-12-20 23:05 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=23344

最近我們被客戶要求撰寫關(guān)于信用卡違約的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。 本文中我們介紹了決策樹和隨機(jī)森林的概念,并在R語言中用邏輯回歸、回歸決策樹、隨機(jī)森林進(jìn)行信用卡違約數(shù)據(jù)分析(查看文末了解數(shù)據(jù)獲取方式)

決策樹是由節(jié)點(diǎn)和分支組成的簡單樹狀結(jié)構(gòu)。根據(jù)每個(gè)節(jié)點(diǎn)的任何輸入特征拆分?jǐn)?shù)據(jù),生成兩個(gè)或多個(gè)分支作為輸出。這個(gè)迭代過程增加了生成的分支的數(shù)量并對原始數(shù)據(jù)進(jìn)行了分區(qū)。這種情況一直持續(xù)到生成一個(gè)節(jié)點(diǎn),其中所有或幾乎所有數(shù)據(jù)都屬于同一類,并且不再可能進(jìn)一步拆分或分支。

這整個(gè)過程生成了一個(gè)樹狀結(jié)構(gòu)。第一個(gè)分裂節(jié)點(diǎn)稱為根節(jié)點(diǎn)。末端節(jié)點(diǎn)稱為葉子并與類標(biāo)簽相關(guān)聯(lián)。從根到葉的路徑產(chǎn)生分類規(guī)則。

?

假設(shè)你是一名員工,你想吃食物。

您的行動(dòng)方案將取決于多種情況。

如果你不餓,你就不會(huì)花錢。但是如果你餓了,那么選擇就會(huì)改變。你的下一步行動(dòng)取決于你的下一個(gè)情況,即你有沒有買午餐?

現(xiàn)在,如果你不吃午飯,你的行動(dòng)將完全取決于你的下一個(gè)選擇,即是不是月底?如果是月底最后幾天,可以考慮不吃飯;否則,您不會(huì)將其視為偏好。

當(dāng)涉及多個(gè)選擇來做出任何決定時(shí),決策樹就會(huì)發(fā)揮作用?,F(xiàn)在你必須做出相應(yīng)的選擇以獲得有利的結(jié)果。

?

決策樹如何工作?

決策樹有兩個(gè)組成部分:熵和信息增益

熵是一個(gè)用來衡量信息或無序的概念。我們可以用它來衡量數(shù)據(jù)集的純度。

為了更好地理解熵,讓我們研究兩個(gè)不同的示例數(shù)據(jù)集,它們都有兩個(gè)類,分別表示為藍(lán)點(diǎn)和紅叉。在左側(cè)的示例數(shù)據(jù)集中,我們混合了藍(lán)點(diǎn)和紅叉。在右側(cè)數(shù)據(jù)集的示例中,我們只有紅十字。第二種情況——一個(gè)只有一個(gè)類樣本的數(shù)據(jù)集——是我們的目標(biāo):一個(gè)“純”數(shù)據(jù)子集。

熵可以是純度、無序或信息的量度。由于混合類,左邊的數(shù)據(jù)集不那么純凈,更混亂(更無序,即更高的熵)。然而,更多的混亂也意味著更多的信息。實(shí)際上,如果數(shù)據(jù)集只有一類的點(diǎn),那么無論您嘗試多長時(shí)間,都無法從中提取太多信息。相比之下,如果數(shù)據(jù)集具有來自兩個(gè)類的點(diǎn),則它也具有更高的信息提取潛力。所以,左邊數(shù)據(jù)集的熵值越高,也可以看作是潛在信息量越大。

?

信息增益為了評估一個(gè)特征對分裂的好壞,計(jì)算分裂前后的熵差。

決策樹中每個(gè)拆分的目標(biāo)是從混淆的數(shù)據(jù)集移動(dòng)到兩個(gè)(或更多)更純的子集。理想情況下,分裂應(yīng)該導(dǎo)致熵為 0.0 的子集。然而,在實(shí)踐中,如果拆分導(dǎo)致子集的總熵低于原始數(shù)據(jù)集就足夠了。

也就是說,我們首先計(jì)算分割前數(shù)據(jù)集的熵,然后計(jì)算分割后每個(gè)子集的熵。最后,在拆分之前從數(shù)據(jù)集的熵中減去由子集大小加權(quán)的輸出熵之和。這種差異衡量了信息的增益或熵的減少。如果信息增益是一個(gè)正數(shù),這意味著我們從一個(gè)混亂的數(shù)據(jù)集轉(zhuǎn)移到了一些更純粹的子集。

然后,在每一步,我們將選擇在信息增益值最高的特征上分割數(shù)據(jù),因?yàn)檫@會(huì)產(chǎn)生最純粹的子集。

我們將首先分割信息增益最高的特征。這是一個(gè)遞歸過程,直到所有子節(jié)點(diǎn)都是純的或直到信息增益為零。

隨機(jī)森林

隨機(jī)森林是另一種強(qiáng)大且最常用的監(jiān)督學(xué)習(xí)算法。

許多比一個(gè)好。簡單來說,這就是隨機(jī)森林算法背后的概念。也就是說,許多決策樹可以產(chǎn)生比僅僅一棵決策樹本身更準(zhǔn)確的預(yù)測。事實(shí)上,隨機(jī)森林算法是一種有監(jiān)督的分類算法,它構(gòu)建了 N 個(gè)經(jīng)過稍微不同訓(xùn)練的決策樹,并將它們合并在一起以獲得更準(zhǔn)確和穩(wěn)定的預(yù)測.

讓我們再次強(qiáng)調(diào)這個(gè)概念。整個(gè)想法依賴于多個(gè)決策樹,這些決策樹都經(jīng)過略微不同的訓(xùn)練,并且所有這些決策樹都被考慮到最終決策中。

在一個(gè)隨機(jī)森林中,N 棵決策樹在通過獲得的原始訓(xùn)練集的一個(gè)子集上進(jìn)行訓(xùn)練自舉原始數(shù)據(jù)集,即通過帶放回的隨機(jī)抽樣。

此外,輸入特征也可能因樹而異,作為原始特征集的隨機(jī)子集。

N 個(gè)稍有不同訓(xùn)練的樹將對相同的輸入向量產(chǎn)生 N 個(gè)稍有不同的預(yù)測。通常,多數(shù)規(guī)則適用于做出最終決定。N棵樹中的大多數(shù)提供的預(yù)測被用作最后一棵。

這種策略的優(yōu)勢是顯而易見的。雖然來自單個(gè)樹的預(yù)測對訓(xùn)練集中的噪聲高度敏感,但來自大多數(shù)樹的預(yù)測卻不是——前提是這些樹不相關(guān)。Bootstrap 采樣是通過在不同的訓(xùn)練集上訓(xùn)練樹來去相關(guān)樹的方法。

?

接下來,我們在R語言中用邏輯回歸、回歸決策樹、隨機(jī)森林進(jìn)行信用卡違約分析。

**
**

信貸數(shù)據(jù)集,其中包含了銀行貸款申請人的信息。該文件包含1000名申請人的20條信息。

下面的代碼可以用來確定申請人是否有信用,以及他(或她)是否對貸款人有良好的信用風(fēng)險(xiǎn)。有幾種方法被應(yīng)用到數(shù)據(jù)上,幫助做出這種判斷。在這個(gè)案例中,我們將看一下這些方法。

相關(guān)視頻Boosting原理與R語言提升回歸樹BRT預(yù)測短鰭鰻分布

**

拓端

,贊11

請注意,本例可能需要進(jìn)行一些數(shù)據(jù)處理,以便為分析做準(zhǔn)備。

我們首先將數(shù)據(jù)加載到R中。

credit?<-?read.csv(credit,?header?=?TRUE,?sep?=?',')

這段代碼在數(shù)據(jù)上做了一個(gè)小的處理,為分析做準(zhǔn)備。否則,就會(huì)出現(xiàn)錯(cuò)誤,因?yàn)樵谀承┪募哪骋涣兄邪l(fā)現(xiàn)有四類因素。

基本上,任何4類因變量都被覆蓋為3類。繼續(xù)進(jìn)行分析。

No.of.Credits[No.of.Credits?==?4]?<-?3

快速瀏覽一下數(shù)據(jù),了解一下我們的工作內(nèi)容。

str(credit)

你可能會(huì)立即注意到有幾個(gè)變量很顯眼。我們要排除它們。"信貸期限(月)"、"信貸金額 "和 "年齡"。

為什么?

我們在這個(gè)模型中試圖把重點(diǎn)放在作為信用價(jià)值指標(biāo)的數(shù)據(jù)分類或類別上。這些是分類變量,而不是數(shù)字變量。申請人有電話嗎?申請人是否已婚?是否有共同簽署人?申請人在同一地址住了多長時(shí)間?這類事情。

關(guān)于這些因素,重要的是我們知道它們與貸款決定的關(guān)系。良好的信用與某些因素的組合有關(guān),從而使我們可以用概率將新的申請人按其特征進(jìn)行分類。

在數(shù)據(jù)中,這些問題的答案不是 "是 "或 "不是 "或 "十年"。答案被分組為更廣泛的分類。

我們需要做的是刪除真正的數(shù)字?jǐn)?shù)據(jù)(時(shí)間、金額和年齡),保留分類因素。我們排除選定列。

然后我們創(chuàng)建一個(gè)簡短的函數(shù),將整數(shù)轉(zhuǎn)換成因子。

for(i?in?S)?credit[,?i]?<-?as.factor(credit[,?i])

現(xiàn)在我們有了有用的數(shù)據(jù),我們可以開始應(yīng)用不同的分析方法。

方法一:邏輯回歸(Logistic Regression)

第一步是創(chuàng)建我們的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集。訓(xùn)練集用于訓(xùn)練模型。測試集則用于評估模型的準(zhǔn)確性。

我們把數(shù)據(jù)集分成任何我們喜歡的大小,在這里我們使用三分之一,三分之二的分割。

(1:nrow(credit))[-sample(1:nrow(credit),?size?=?333)]

在這個(gè)階段,我們將使用glm()函數(shù)進(jìn)行Logistic回歸。在這里,我們有選擇地使用模型中的變量。但現(xiàn)在只是用五個(gè)變量來確定信用度的值。

LogisticModel<-?glm(Credit?~?Account?+?Payment?+?Purp?+?Length.of.current?+?Sex,?family?=?binomial,?data?=?credit)

完成后,我們繼續(xù)將我們剛剛創(chuàng)建的模型擬合到測試集i_test1上,并準(zhǔn)備進(jìn)行第一次預(yù)測。

我們已經(jīng)擬合了模型。現(xiàn)在我們將使用ROCR包來創(chuàng)建預(yù)測,并以曲線下面積(AUC)來衡量性能。AUC越大,說明我們的模型表現(xiàn)越好。

perf1?<-?performance(pred1,?'tpr',?'fpr')

讓我們描繪一下結(jié)果。

我們將通過尋找AUC來結(jié)束這一部分。

AUCLog1

??

這不是一個(gè)糟糕的結(jié)果,但讓我們看看是否可以用不同的方法做得更好。

方法二:另一種Logistic模型

在這種方法中,我們將建立第二個(gè)Logistic邏輯模型來利用我們數(shù)據(jù)集中的所有變量。其步驟與上述第一個(gè)模型相同。

perf2?<-?performance(pred2,?'tpr',?'fpr')plot(perf2)

AUCLog2

包括所有的變量,我們并沒有得到多少改善。一個(gè)好的規(guī)則是盡可能保持模型的簡單。增加更多的變量會(huì)帶來很少的改善,所以堅(jiān)持使用更簡單的模型。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言用邏輯回歸、決策樹和隨機(jī)森林對信貸數(shù)據(jù)集進(jìn)行分類預(yù)測

左右滑動(dòng)查看更多

01

02

03

04

方法三:回歸樹

接下來,讓我們試著用回歸樹的方法來分析數(shù)據(jù)。我們的大部分代碼與上述邏輯模型中使用的代碼相似,但我們需要做一些調(diào)整。

請?jiān)俅巫⒁?,我們正在研究我們模型中的所有變量,找到它們對我們感興趣的變量--信用度的影響。

TreeModel?<-?rpart(Creditability?~?.,?data?=?credit[i_calibration1,?])library(rpart.plot)prp(TreeModel,?type?=?2,?extra?=?1)

perf3?<-?performance(pred3,?'tpr',?'fpr')plot(perf3)


考慮到我們的樹狀模型的復(fù)雜性,這些結(jié)果并不令人滿意,所以我們不得不再次懷疑第一個(gè)例子中更簡單的Logistic Regression模型是否更好。

方法四:隨機(jī)森林

與其建立一棵決策樹,我們可以使用隨機(jī)森林方法來創(chuàng)建一個(gè)決策樹 "森林"。在這種方法中,最終結(jié)果是類的模式(如果我們正在研究分類模型)或預(yù)測的平均值(如果我們正在研究回歸)。

隨機(jī)森林背后的想法是,決策樹很容易過度擬合,所以找到森林中的 "平均 "樹可以幫助避免這個(gè)問題。

你可以想象,這比創(chuàng)建一棵決策樹在計(jì)算上要求更高,但R可以很好地處理這一工作。

randomForest(Credit?~?)

通過努力,我們得到了一個(gè)有點(diǎn)改進(jìn)的結(jié)果。隨機(jī)森林模型是我們所嘗試的四個(gè)模型中表現(xiàn)最好的。但是,這需要判斷結(jié)果是否值得付出額外的努力。

方法五:比較隨機(jī)森林和Logistic模型

好了,我們已經(jīng)看了使用兩種基本分析方法的各種結(jié)果--邏輯回歸和決策樹。我們只看到了以AUC表示的單一結(jié)果。

隨機(jī)森林方法要求我們創(chuàng)建一個(gè)決策樹的森林,并取其模式或平均值。為什么不利用所有這些數(shù)據(jù)呢?它們會(huì)是什么樣子呢?

下面的代碼創(chuàng)建了一個(gè)圖表,描述了我們的隨機(jī)森林中每棵樹的AUC分?jǐn)?shù)和邏輯模型的數(shù)百種組合。

首先我們需要一個(gè)函數(shù)來進(jìn)行分析。

function(i){ ????????i_test2?<-?sample(1:nrow(credit),?size?=?333) ????????summary(LogisticModel.3) ????????fitLog3?<-?predict(LogisticModel.3,?type?=?'response',?newdata?=?credit[i_test2,

這部分代碼的運(yùn)行需要一段時(shí)間,因?yàn)槲覀円獙?shù)百個(gè)單獨(dú)的結(jié)果進(jìn)行列表和記錄。你可以通過改變VAUC對象中的計(jì)數(shù)來調(diào)整模型中的結(jié)果數(shù)量。在這里,我們選擇計(jì)算200個(gè)x-y對,或400個(gè)單獨(dú)的結(jié)果。

plot(t(VC))

你可以看到,我們從前四個(gè)模型中得到的結(jié)果正好處于分布的中間。

這為我們證實(shí)了這些模型都是有可比性的。我們所希望的最好結(jié)果是AUC達(dá)到0.84,而且大多數(shù)人給我們的結(jié)果與我們已經(jīng)計(jì)算的結(jié)果相似。

但是,讓我們試著更好地可視化。

首先,我們將對象轉(zhuǎn)換成一個(gè)數(shù)據(jù)框架。

我們創(chuàng)建幾個(gè)新圖。第一個(gè)是密度等高線圖。

plot(AA,?aes(x?=?V1,?y?=?V2)

第二張是高密度等高線圖,給我們提供了數(shù)據(jù)的概率區(qū)域。

with(AA,?boxplot(V1,?V2))

無論我們以何種方式描述我們的結(jié)果,都必須使用數(shù)據(jù)來做出合理的貸款決定。這里有一個(gè)問題?

這些可能是我們使用這些模型所能得出的最佳分?jǐn)?shù),但這些結(jié)果對于確定貸款申請人的信用價(jià)值是否可以接受?這取決于貸款機(jī)構(gòu)所使用的信用標(biāo)準(zhǔn)。

在最好的情況下,看起來我們的模型給了82%的機(jī)會(huì)向良好的信用風(fēng)險(xiǎn)提供貸款。對于每100萬元的貸款,我們最多可能期望得到82萬元的償還。平均而言,我們預(yù)計(jì)會(huì)收回大約78萬元的本金。換句話說,根據(jù)我們的分析,有75%到80%的機(jī)會(huì)重新獲得100萬元的貸款,這取決于我們使用的建模方法。

當(dāng)我們把貸款申請人加入我們的數(shù)據(jù)庫時(shí),如果我們要把他們視為良好的信貸風(fēng)險(xiǎn),我們希望他們聚集在高密度圖的最暗區(qū)域。

除非我們收取大量的利息來彌補(bǔ)我們的損失,否則我們可能需要更好的模型。

數(shù)據(jù)獲取

在下面公眾號后臺回復(fù)“信貸數(shù)****據(jù)”,可獲取完整數(shù)據(jù)。

點(diǎn)擊文末?“閱讀原文”

獲取全文完整資料。

本文選自《R語言邏輯回歸(Logistic Regression)、回歸決策樹、隨機(jī)森林信用卡違約分析信貸數(shù)據(jù)集》。

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

PYTHON用戶流失數(shù)據(jù)挖掘:建立邏輯回歸、XGBOOST、隨機(jī)森林、決策樹、支持向量機(jī)、樸素貝葉斯和KMEANS聚類用戶畫像
Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析
PYTHON集成機(jī)器學(xué)習(xí):用ADABOOST、決策樹、邏輯回歸集成模型分類和回歸和網(wǎng)格搜索超參數(shù)優(yōu)化
R語言集成模型:提升樹boosting、隨機(jī)森林、約束最小二乘法加權(quán)平均模型融合分析時(shí)間序列數(shù)據(jù)
Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析
R語言用主成分PCA、?邏輯回歸、決策樹、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化
R語言基于樹的方法:決策樹,隨機(jī)森林,Bagging,增強(qiáng)樹
R語言用邏輯回歸、決策樹和隨機(jī)森林對信貸數(shù)據(jù)集進(jìn)行分類預(yù)測
spss modeler用決策樹神經(jīng)網(wǎng)絡(luò)預(yù)測ST的股票
R語言中使用線性模型、回歸決策樹自動(dòng)組合特征因子水平
R語言中自編基尼系數(shù)的CART回歸決策樹的實(shí)現(xiàn)
R語言用rle,svm和rpart決策樹進(jìn)行時(shí)間序列預(yù)測
python在Scikit-learn中用決策樹和隨機(jī)森林預(yù)測NBA獲勝者
python中使用scikit-learn和pandas決策樹進(jìn)行iris鳶尾花數(shù)據(jù)分類建模和交叉驗(yàn)證
R語言里的非線性模型:多項(xiàng)式回歸、局部樣條、平滑樣條、 廣義相加模型GAM分析
R語言用標(biāo)準(zhǔn)最小二乘OLS,廣義相加模型GAM?,樣條函數(shù)進(jìn)行邏輯回歸LOGISTIC分類
R語言ISLR工資數(shù)據(jù)進(jìn)行多項(xiàng)式回歸和樣條回歸分析
R語言中的多項(xiàng)式回歸、局部回歸、核平滑和平滑樣條回歸模型
R語言用泊松Poisson回歸、GAM樣條曲線模型預(yù)測騎自行車者的數(shù)量
R語言分位數(shù)回歸、GAM樣條曲線、指數(shù)平滑和SARIMA對電力負(fù)荷時(shí)間序列預(yù)測R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類和動(dòng)態(tài)可視化
如何用R語言在機(jī)器學(xué)習(xí)中建立集成模型?
R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測在python 深度學(xué)習(xí)Keras中計(jì)算神經(jīng)網(wǎng)絡(luò)集成模型R語言ARIMA集成模型預(yù)測時(shí)間序列分析R語言基于Bagging分類的邏輯回歸(Logistic Regression)、決策樹、森林分析心臟病患者
R語言基于樹的方法:決策樹,隨機(jī)森林,Bagging,增強(qiáng)樹
R語言基于Bootstrap的線性回歸預(yù)測置信區(qū)間估計(jì)方法
R語言使用bootstrap和增量法計(jì)算廣義線性模型(GLM)預(yù)測置信區(qū)間
R語言樣條曲線、決策樹、Adaboost、梯度提升(GBM)算法進(jìn)行回歸、分類和動(dòng)態(tài)可視化
Python對商店數(shù)據(jù)進(jìn)行l(wèi)stm和xgboost銷售量時(shí)間序列建模預(yù)測分析
R語言隨機(jī)森林RandomForest、邏輯回歸Logisitc預(yù)測心臟病數(shù)據(jù)和可視化分析
R語言用主成分PCA、?邏輯回歸、決策樹、隨機(jī)森林分析心臟病數(shù)據(jù)并高維可視化
Matlab建立SVM,KNN和樸素貝葉斯模型分類繪制ROC曲線
matlab使用分位數(shù)隨機(jī)森林(QRF)回歸樹檢測異常值


R語言邏輯回歸(Logistic Regression)、回歸決策樹、隨機(jī)森林信用卡違約分析信貸數(shù)據(jù)集的評論 (共 條)

分享到微博請遵守國家法律
开化县| 九龙县| 茌平县| 宜川县| 合山市| 遂川县| 宣汉县| 永嘉县| 清水河县| 赤水市| 洞头县| 英吉沙县| 叙永县| 都匀市| 永修县| 阿克苏市| 保靖县| 清水河县| 余姚市| 定西市| 铜陵市| 庄河市| 方山县| 喜德县| 聊城市| 逊克县| 简阳市| 景东| 温州市| 仙居县| 沽源县| 德兴市| 阳城县| 云和县| 舞阳县| 桦甸市| 迁安市| 江孜县| 玉林市| 北京市| 化隆|