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

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

表1 Status_Checking_Acc類別意義

表2 目標類別的分布情況

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

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

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


圖5 ROC曲線

表3 邏輯回歸模型結果

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

說明Duration_in_Months每增加一個單位,客戶違約的概率將會比原先增加
同理,控制Status_Checking_Acc和Duration_in_Months觀察Age,說明Age每增加一個單位,客戶違約的概率會比原先降低
以本文的數據集為例,控制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倍。
因此,邏輯回歸模型除了能夠對類別數據進行預測分類外還能生成輸入變量與目標變量之間的數值關系,讓業者更加清晰輸入變量對目標變量的影響程度。
基于以上,在機器學習中用于分類的算法模型有很多種,雖然都是用來分類的方法,但是它們由于各自算法邏輯的不同使得在商業環境下能夠為特定的業務需求提供支持。以本文為例,若業者想要了解所關注的目標是由哪些規則生成的,可以考慮使用決策樹算法;若業者想要了解影響所關注目標的因素對于目標的影響權值以及它們內在的數量關系,可以考慮使用邏輯回歸算法。要根據所使用的業務場景選擇適當的模型處理問題,簡單問題用簡單模型;復雜問題用復雜模型但更要使用適合的模型解決問題。