高瑞
(西安財經(jīng)大學(xué)統(tǒng)計學(xué)院,陜西西安 710100)
“數(shù)據(jù)挖掘”作為當前數(shù)據(jù)科學(xué)領(lǐng)域最為熱門的關(guān)鍵詞之一,在現(xiàn)實世界中得到了越來越廣泛的應(yīng)用與研究。數(shù)據(jù)挖掘技術(shù)作為一項知識發(fā)掘的工具,研究者可以通過與研究目的(研究者所感興趣的目標變量)有關(guān)的數(shù)據(jù)(與目標變量存在相關(guān)性的輸入變量),利用數(shù)據(jù)挖掘技術(shù)發(fā)現(xiàn)在這些數(shù)據(jù)中所蘊含的模式及規(guī)律,并根據(jù)不同的應(yīng)用場景通過不同的方式將這些模式及規(guī)律提取出來來指導(dǎo)人們的行為或決策[1]。因此,數(shù)據(jù)挖掘技術(shù)為進行高效率的商業(yè)活動提供了強大而有力的支撐。人們將數(shù)據(jù)挖掘技術(shù)應(yīng)用到商業(yè)活動中滿足不同的業(yè)務(wù)需求,所以根據(jù)不同的業(yè)務(wù)需求選擇適當?shù)乃惴P筒粌H能夠達到預(yù)期的效果而且還能節(jié)省時間成本。

圖1 決策樹模型圖
機器學(xué)習(xí)作為數(shù)據(jù)挖掘的常用方式解決了數(shù)據(jù)挖掘領(lǐng)域的四大問題:關(guān)聯(lián)、聚類、分類和預(yù)測。機器學(xué)習(xí)算法中包含眾多的分類算法模型,如K-Nearest Neighbor(K近鄰)、Bayes Net(貝葉斯網(wǎng)絡(luò))、Decision Tree(決策樹)、Logistic Regression(邏輯回歸)、Neural Network(神經(jīng)網(wǎng)絡(luò))、Support Vector Machine(支持向量機)等[2]。這些眾多的分類算法模型都是對類別型的目標變量進行類別分類預(yù)測的方法,然而它們都有其獨特的理論和算法邏輯,在復(fù)雜多樣的商業(yè)活動中,其業(yè)務(wù)需求也是豐富多樣的。本文以決策樹和邏輯回歸兩種分類算法模型為例,基于它們不同的底層邏輯研究其在不同業(yè)務(wù)需求下的應(yīng)用區(qū)別。
決策樹(如圖1)是以目標類別在每個輸入變量下的“純度”為主要判斷依據(jù),綜合選擇對目標類別區(qū)分最為明顯的輸入變量作為優(yōu)先節(jié)點“開枝散葉”,通過不同的對目標類別有區(qū)分能力的輸入變量的不斷“接力”形成二叉或多叉的樹形結(jié)構(gòu),在滿足模型泛化能力的前提下停止“接力”,在葉節(jié)點處做出分類判斷[3]。常見的決策樹算法包括C5.0和CART等,本文以C5.0為研究對象。
本文通過選取來源于Kaggle的銀行信貸數(shù)據(jù)Bank_Loan數(shù)據(jù)集來研究決策樹和邏輯回歸的應(yīng)用區(qū)別(如圖2),通過決策樹和邏輯回歸算法邏輯的不同研究除分類預(yù)測能力之外的在其它業(yè)務(wù)需求上的應(yīng)用。
為了更好地說明問題,本文選取了Bank_Loan數(shù)據(jù)集的部分字段Duration_in_Months(貸款期限,單位:月)、Age(客戶年齡)、Status_Checking_Acc(支票賬戶的狀態(tài))和Default_On_Payment(違約標識)建立決策樹模型和邏輯回歸模型。其中Duration_in_Months、Age、Status_Checking_Acc為輸入變量,Duration_in_Months和Age是數(shù)值型變量并對其用分位數(shù)法去除異常值;Status_ Checking_Acc是類別型變量(如表1)。Default_On_Payment為二分類的目標變量(如表2),0為未違約;1為違約。

表1 Status_Checking_Acc類別意義

表2 目標類別的分布情況

圖2 研究流程圖
A11表示客戶的支票賬戶中的額度為負,銀行為其進行代墊。
A12表示客戶的支票賬戶中有小于10000美元的額度。
A13表示客戶的支票賬戶中有大于10000美元的額度。
A14表示客戶沒有開通支票賬戶。
數(shù)據(jù)集包含有5000個觀測,根據(jù)目標變量將數(shù)據(jù)集進行分層抽樣,用80%的數(shù)據(jù)作為訓(xùn)練數(shù)據(jù)集,20%的數(shù)據(jù)作為測試數(shù)據(jù)集。用訓(xùn)練數(shù)據(jù)集建立決策樹和邏輯回歸模型,用測試數(shù)據(jù)集驗證模型,模型結(jié)果如下:
(1)決策樹模型。根據(jù)訓(xùn)練數(shù)據(jù)集生成的決策樹模型(如圖3)共有3個內(nèi)部節(jié)點,6個葉節(jié)點。通過決策樹模型的ROC曲線(如圖4)可知,測試數(shù)據(jù)集在模型下的auc=0.704,說明模型有一定的預(yù)測能力。
(2)邏輯回歸模型。根據(jù)訓(xùn)練數(shù)據(jù)集建立的邏輯回歸模型,模型各項系數(shù)(如表3)有良好的顯著性。通過邏輯回歸模型的ROC曲線(如圖5)可知,測試數(shù)據(jù)集在模型下的auc=0.717,說明模型有一定的預(yù)測能力。

圖3 決策樹模型結(jié)果
根據(jù)以上可以得出:在現(xiàn)有的數(shù)據(jù)集下,決策樹和邏輯回歸均有較好的預(yù)測能力和泛化能力,并且預(yù)測的準確率不相上下。
決策樹模型和邏輯回歸模型均可以對類別數(shù)據(jù)進行預(yù)測分類,并且有時其預(yù)測能力相差無幾。但是由于兩者分類算法的不同,使得其在對類別數(shù)據(jù)進行預(yù)測分類外還能對數(shù)據(jù)集內(nèi)部的結(jié)構(gòu)進行不同角度的描述。
(1)決策樹模型。決策樹是根據(jù)輸入變量對目標類別的區(qū)分能力依次選擇分支節(jié)點,用多樣的條件進行逐步判斷,最終得到一套規(guī)則體系。以本文的數(shù)據(jù)集為例,由于Status_Checking_Acc對客戶是否違約有良好的區(qū)分能力,因此將Status_Checking_Acc作為優(yōu)先的輸入變量進行條件判斷,再根據(jù)Duration_in_Months和Age進行條件判斷,最終形成判斷客戶是否違約的六條規(guī)則:
規(guī)則1:若Status_Checking_Acc=A13或A14則判斷客戶不會違約,并且錯誤率為12.80%。
規(guī)則2:若Status_Checking_Acc=A11并且Duration_in_Months<=15則判斷客戶不會違約,并且錯誤率為34.60%。
規(guī)則3:若Status_Checking_Acc=A11并且Duration_in_Months>15則判斷客戶會違約,并且錯誤率為38.78%。

圖4 ROC曲線
規(guī)則4:若Status_Checking_Acc=A12并且Duration_in_Months<=22則判斷客戶不會違約,并且錯誤率為28.81%。
規(guī)則5:若Status_Checking_Acc=A12并且Duration_in_Months>22;Age<=29則判斷客戶會違約,并且錯誤率為42.16%。
規(guī)則6:若Status_Checking_Acc=A12并且Duration_in_Months>22;Age>29則判斷客戶不會違約,并且錯誤率為44.25%。
因此,決策樹模型除了能夠?qū)︻悇e數(shù)據(jù)進行預(yù)測分類外還能生成基于業(yè)務(wù)的若干條規(guī)則,可以讓業(yè)者清晰業(yè)務(wù)框架,業(yè)者所關(guān)注的目標是由哪些因素相互組合的結(jié)果。
(2)邏輯回歸模型。邏輯回歸模型與線性回歸模型類似,是根據(jù)輸入變量對目標變量的影響權(quán)重加權(quán)求和得到最終的結(jié)果。因此可以通過邏輯回歸掌握輸入變量與目標變量的數(shù)值關(guān)系。以本文的數(shù)據(jù)集為例,控制Status_Checking_Acc和Age觀察Duration_in_Months,此時邏輯回歸方程為:


圖5 ROC曲線

表3 邏輯回歸模型結(jié)果

公式(2)除以(1)得:

說明Duration_in_Months每增加一個單位,客戶違約的概率將會比原先增加
同理,控制Status_Checking_Acc和Duration_in_Months觀察Age,說明Age每增加一個單位,客戶違約的概率會比原先降低
以本文的數(shù)據(jù)集為例,控制Duration_in_Months和Age觀察Status_Checking_Acc,將Status_Checking_Acc=A14作為參照,此時:
當客戶的Status_Checking_Acc=A11時違約的幾率是客戶的Status_Checking_Acc=A14時的exp(2.091)=8.09倍。
當客戶的Status_Checking_Acc=A12時違約的幾率是客戶的Status_Checking_Acc=A14時的exp(1.489)=4.43倍。
當客戶的Status_Checking_Acc=A13時違約的幾率是客戶的Status_Checking_Acc=A14時的exp(0.904)=2.47倍。
因此,邏輯回歸模型除了能夠?qū)︻悇e數(shù)據(jù)進行預(yù)測分類外還能生成輸入變量與目標變量之間的數(shù)值關(guān)系,讓業(yè)者更加清晰輸入變量對目標變量的影響程度。
基于以上,在機器學(xué)習(xí)中用于分類的算法模型有很多種,雖然都是用來分類的方法,但是它們由于各自算法邏輯的不同使得在商業(yè)環(huán)境下能夠為特定的業(yè)務(wù)需求提供支持。以本文為例,若業(yè)者想要了解所關(guān)注的目標是由哪些規(guī)則生成的,可以考慮使用決策樹算法;若業(yè)者想要了解影響所關(guān)注目標的因素對于目標的影響權(quán)值以及它們內(nèi)在的數(shù)量關(guān)系,可以考慮使用邏輯回歸算法。要根據(jù)所使用的業(yè)務(wù)場景選擇適當?shù)哪P吞幚韱栴},簡單問題用簡單模型;復(fù)雜問題用復(fù)雜模型但更要使用適合的模型解決問題。