mahout探索之旅 CART分類回歸演算法

2021-06-29 12:45:45 字數 1588 閱讀 6571

cart

演算法原理與理解

cart演算法的全稱是分類回歸樹演算法,分類即劃分離散變數;回歸劃分連續變數。他與c4.5很相似,但是乙個二元分類,採用的是類似於熵的gini指數作為分類決策,形成決策樹之後還要進行剪枝,我自己在實現整個演算法的時候採用的是代價複雜度演算法。

gini

指數主要是度量資料劃分或訓練資料集

d的不純度為主,系數值的屬性作為測試屬性,

gini

值越小,表明樣本的純淨度越高(即該樣本屬於同一類的概率越高)。選擇該屬性產生最小的

gini

指標的子集作為它的**子集。比如下面示例中一項是

3人有房,

0人無房的欠款記錄(

gini=0),

三個有房的全部都不欠款,是不是純度相當高,

gini

卻甚小。

在節點t時,gini指數公式:

是節點t中類j所佔的比例。gini的值範圍。

構建決策樹時通常採用自上而下的方法,在每一步選擇乙個最好的屬性來**。 "最好" 的定義是使得子節點中的訓練集盡量的純度。不同的演算法使用不同的指標來定義"最好"。一般有4中不同的不純度量可以用來發現cart模型的劃分,取決於目標變數的型別,對於分類的目標變數,可以選擇gini雙化或有序雙化;對於連續的目標變數,可以使用最小二乘偏差(lsd)或最小絕對偏差(lad)。這裡當然選擇gini指數。

數值型變數:(比如工資的高低)對記錄的值從小到大排序,計算每個值作為臨界點產生的子節點的異質性統計量。能夠使異質性減小程度最大的臨界值便是最佳的劃分點。

分型別變數:列出劃分為兩個子集的所有可能組合,計算每種組合下生成子節點的異質性。同樣,找到使異質性減小程度最大的組合作為最佳劃分點。

一般在示例中展示的都是低深度模型,所以也不會出現決策樹的規模的問題。在實際的應用中,決策樹規模受使用者對深度要求、節點純度、節點樣本個數等影響、,因此這就決定了需要對決策樹進行停止生長的限制(剪枝)。

剪枝必要性:當分類回歸過於細化,會導致過擬合問題。

前剪枝:停止生長策略(深度到達某個值就停止生長、純度全都超過某個值時不再劃分);

後剪枝:在允許決策樹達到充分伸張後,自下而上的逐層剪枝(gini指數明顯接近零,也就是屬性分類的某一類特別佔優勢)。

對如下遞迴劃分方式如何建立決策樹?從而**拖欠貸款的人群。

計算gini指數,選擇分割點

計算gini指數,選擇分割點

(不好意思,不想畫**,所以全部截圖上傳的,博文一直沒更新就是不太想編輯)

參考文獻

1.

mahout探索之旅 kmeans演算法(上)

k means演算法是聚類演算法,k在在這裡指的是分類的型別數 根據經驗指出會出現幾個類別 所以在開始設定的時候非常關鍵,演算法的原理是首先假定k個分類點,然後根據歐式距離計算分類,然後去同分類的均值作為新的聚簇中心,迴圈操作直到收斂。演算法的關鍵在k個值的選取上,如果均值選得恰當將有利於演算法的快...

Second Life 軟體探索之旅

主題 日期 second life 客戶機,第 2 部分 深入研究文件 second life 客戶機的開發者文件採用了 wiki。在 second life 軟體探索之旅的第 2 階段,我們將檢視該文件,並使用它對客戶機進行一些修改。2007年5月31日 second life 客戶機,第 3 部...

Identity Core探索之旅 五

authorization,意為授權,當使用者登入後,使用者已經有了自己的身份資訊 我是誰 但是使用者也分層級,有普通使用者,vip使用者甚至管理員,我們現在要求只能管理員可以登入,怎麼做呢?很簡單,先了解下怎麼配置authorization。先在service中配置authorization se...