拓端tecdat|SAS用梯度提升回歸樹(GBDT)遷移學習預測抵押貸款拖欠風險和垃圾電子郵件數(shù)
原文鏈接:http://tecdat.cn/?p=26177?
原文出處:拓端數(shù)據(jù)部落公眾號
GBDT梯度提升模型由多個決策樹組成。預測模型的目的是根據(jù)輸入預測目標值。GBDT使用?已知目標值的訓練數(shù)據(jù)來創(chuàng)建模型? ,然后可以將該模型應用于目標未知的觀測。如果預測很好地擬合了新數(shù)據(jù),則該模型可以?很好地??推廣。良好的概括是預測任務的主要目標。預測模型可能很好地擬合了訓練數(shù)據(jù),但泛化性很差。
決策樹??是一種預測模型已在統(tǒng)計和人工智能社區(qū)自主開發(fā)。GRADBOOST通過擬合一組加性樹來創(chuàng)建預測模型。
相關視頻:Boosting集成學習原理與R語言提升回歸樹BRT預測短鰭鰻分布生態(tài)學實例
Boosting集成學習原理與R語言提升回歸樹BRT預測短鰭鰻分布生態(tài)學實例
,時長10:25
GBDT
梯度提升模型的常見用法是預測抵押貸款申請人是否會拖欠貸款。?
本示例使用房屋凈值數(shù)據(jù)表來構建梯度提升模型,該模型用于對數(shù)據(jù)進行評分,并可用于對有關新貸款申請人的數(shù)據(jù)進行評分。?
表1:房屋凈值數(shù)據(jù)表中的變量

proc print data=myhmeq(obs=10); run;
顯示了的前10個觀察值。
圖1:部分數(shù)據(jù)?

圖2:顯示“模型信息”表。該表顯示了前六行中訓練參數(shù)的值,以及有關增強模型中樹的一些基本信息。
圖2:模型信息
GRADBOOST

圖3顯示“觀察值數(shù)量”表,該表顯示讀取和使用了多少觀察值。
圖3:觀察數(shù)

圖4 ?顯示了變量重要性的估計。該圖中的行按重要性度量排序。通過對這些數(shù)據(jù)擬合增強模型得出的結論是,??DebtInc
?貸款違約率是最重要的預測指標。
圖4:變量重要性

圖5?顯示了擬合統(tǒng)計量的前10個和最后10個觀察值。GRADBOOST以樹為單位計算擬合統(tǒng)計信息。隨著樹數(shù)量的增加,擬合統(tǒng)計通常通常會先提高(減少),然后趨于平穩(wěn)并在很小的范圍內(nèi)波動。
圖5:擬合統(tǒng)計

示例:使用先前的提升模型對新數(shù)據(jù)評分
本示例說明了如何保存模型表,然后再使用模型表對數(shù)據(jù)表進行評分。
數(shù)據(jù)集來自一個研究,是否進行分類的電子郵件是垃圾電子郵件(編碼為1)或否(編碼為0)。數(shù)據(jù)集包含4,601個觀測值和59個變量。因變量是電子郵件是否被視為垃圾郵件的二進制指示符。共有57個預測變量,用于記錄電子郵件中某些常用單詞和字符的頻率以及大寫字母的連續(xù)序列的長度。
訓練一個提升模型并對訓練數(shù)據(jù)表評分。
該表顯示了統(tǒng)計信息。
輸出1.1:擬合統(tǒng)計信息,在運行時擬合

以下語句使用以前保存的模型對新數(shù)據(jù)評分:
proc gradboost data=mil inmodel=mycst_model;
output out=mycas.score_later;
ods output FitStatistics=fit_later;
run;
如果目標存在于新的得分數(shù)據(jù)表中,則會看到得分數(shù)據(jù)的統(tǒng)計信息。在此示例中,計分的數(shù)據(jù)與訓練數(shù)據(jù)相同。
輸出12.1.2:擬合統(tǒng)計,以后擬合

此示例說明,GRADBOOST過程可以使用先前保存的增強模型對輸入數(shù)據(jù)表進行評分,該模型?在先前的過程運行中保存? 。如果要正確對新數(shù)據(jù)表評分,則一定不要修改該表??gradboost_model
,因為這樣做可能會使構造的提升模型無效。與對新數(shù)據(jù)進行任何評分一樣,必須存在在模型創(chuàng)建中使用的變量,以便為新表評分。
示例:遷移學習
此示例說明了遷移學習。遷移學習通過輔助數(shù)據(jù)來增強訓練數(shù)據(jù),并嘗試降低不代表原始訓練數(shù)據(jù)的觀察結果的影響。原始訓練數(shù)據(jù)通常來自?難以獲得數(shù)據(jù)的??目標人群。此示例在不使用遷移學習的情況下運行了GRADBOOST兩次:一次包含所有數(shù)據(jù),一次不包含輔助觀測。所有模型均使用目標人群的數(shù)據(jù)(不是訓練數(shù)據(jù)的一部分)進行評估。包含遷移學習的模型應該比沒有遷移學習的模型更合適,盡管不如去除輔助觀測的模型好。
接下來的DATA步驟將生成三個數(shù)據(jù)集:一個用于訓練(包括輔助觀測),一個沒有訓練對象的數(shù)據(jù)集,以及第三個具有訓練結果的數(shù)據(jù)集。
data main mylien myest;
array x(2) ?x1 - x2;
do i = 1 to n;
do j = 1 to 2;
x(j) ?= rand('normal', mu);
end;
select(datarole);
when(-1) ?output m.test;
when(0,1) output mytrain mynoAlien;
when(2) ? output myc.train;
end;
if i = nhalf then do;
mu = -mu;
y ?= -y;
首先訓練模型,然后再次將模型應用于測試數(shù)據(jù)和輸出擬合統(tǒng)計。當所有觀測值的該變量均為零時,將不進行遷移學習。
選項將?向下加權延遲到樹11。
proc gradboost data=myst inmodel=mycodel;
output out=my.score;
ods output FitStatistics=&outfit.;
run;
將三個模型的平均平方誤差合并到一個表中。
通過模型中樹的數(shù)量繪制每個模型的平均平方誤差:
scatterplot y=train_ase
x=trees / markerattrs=(color=blue)
name='with'
表明,與遷移學習相比,遷移學習的擬合度更好,盡管不如從數(shù)據(jù)中刪除所有輔助觀測值時的擬合度更好。傳遞學習的擬合與前10棵樹沒有擬合的情況相同,因為在此示例中,直到樹11才開始減權。
輸出2.1:三種模型的ASE與樹數(shù)的比較


最受歡迎的見解
1.從決策樹模型看員工為什么離職
2.R語言基于樹的方法:決策樹,隨機森林
3.python中使用scikit-learn和pandas決策樹
4.機器學習:在SAS中運行隨機森林數(shù)據(jù)分析報告
5.R語言用隨機森林和文本挖掘提高航空公司客戶滿意度
6.機器學習助推快時尚精準銷售時間序列
7.用機器學習識別不斷變化的股市狀況——隱馬爾可夫模型的應用
8.python機器學習:推薦系統(tǒng)實現(xiàn)(以矩陣分解來協(xié)同過濾)
9.python中用pytorch機器學習分類預測銀行客戶流失