十大經典資料探勘演算法 系列

2021-07-28 13:07:59 字數 3995 閱讀 1483

**

【十大經典資料探勘演算法】系列

c4.5

k-means

svmapriori

empagerank

adaboost

knnnaïve bayes

cart

決策樹(decision tree)演算法基於特徵屬性進行分類,其主要的優點:模型具有可讀性,計算量小,分類速度快。決策樹演算法包括了由quinlan提出的id3與c4.5,breiman等提出的cart。其中,c4.5是基於id3的,對**屬性的目標函式做出了改進。

決策樹是一種通過對特徵屬性的分類對樣本進行分類的樹形結構,包括有向邊與三類節點:

上圖給出了(二叉)決策樹的示例。決策樹具有以下特點:

決策樹學習的本質是從訓練資料集中歸納出一組分類規則[2]。但隨著**屬性次序的不同,所得到的決策樹也會不同。如何得到一棵決策樹既對訓練資料有較好的擬合,又對未知資料有很好的**呢?

首先,我們要解決兩個問題:

特徵選擇指選擇最大化所定義目標函式的特徵。下面給出如下三種特徵(gender, car type, customer id)**的例子:

圖中有兩類類別(c0, c1),c0: 6是對c0類別的計數。直觀上,應選擇car type特徵進行**,因為其類別的分布概率具有更大的傾斜程度,類別不確定程度更小。

為了衡量類別分布概率的傾斜程度,定義決策樹節點

t t

的不純度(impurity),其滿足:不純度越小,則類別的分布概率越傾斜;下面給出不純度的的三種度量: e

ntro

py(t

)=−∑

kp(c

k|t)

logp(c

k|t)

(1) (1)entropy(t)=−∑kp(ck|t)log⁡p(ck|t)

gini

(t)=

1−∑k

[p(c

k|t)

]2(2) (2)gini(t)=1−∑k[p(ck|t)]2

clas

sifi

cati

oner

ror(

t)=1

−maxk[

p(ck

|t)]

(3) (3)classification error(t)=1−maxk⁡[p(ck|t)]

其中,p(

ck|t

) p(ck|t)

表示對於決策樹節點

t t類別c

k ck

的概率。這三種不純度的度量是等價的,在等概率分布是達到最大值。

為了判斷**前後節點不純度的變化情況,目標函式定義為資訊增益(information gain): δ

=i(p

aren

t)−∑

i=1n

n(ai

)ni(

ai)(4)

(4)δ=i(parent)−∑i=1nn(ai)ni(ai) i

(⋅) i(⋅)

對應於決策樹節點的不純度,pa

rent

parent

表示**前的父節點,

n n

表示父節點所包含的樣本記錄數,ai

ai表示父節點**後的某子節點,n(

ai) n(ai)

為其計數,

n n

為**後的子節點數。

特別地,id3演算法選取熵值作為不純度i(

⋅)i(⋅)

的度量,則δ=

h(c)

−∑i=

1nn(

ai)n

h(c|

ai)=

h(c)

−∑in

p(ai

)h(c

|ai)

=h(c

)−h(

c|a)

δ=h(c)−∑i=1nn(ai)nh(c|ai)=h(c)−∑inp(ai)h(c|ai)=h(c)−h(c|a) c

c指父節點對應所有樣本記錄的類別;

a a

表示選擇的特徵屬性,即ai

ai的集合。那麼,決策樹學習中的資訊增益

δ δ

等價於訓練資料集中類與特徵的互資訊,表示由於得知特徵

a a

的資訊訓練資料集

c c

不確定性減少的程度。

在特徵**後,有些子節點的記錄數可能偏少,以至於影響分類結果。為了解決這個問題,cart演算法提出了只進行特徵的二元**,即決策樹是一棵二叉樹;c4.5演算法改進**目標函式,用資訊增益比(information gain ratio)來選擇特徵: g

ainr

atio

=δen

trop

y(pa

rent

)(5)

(5)gain ratio=δentropy(parent)

因而,特徵選擇的過程等同於計算每個特徵的資訊增益,選擇最大資訊增益的特徵進行**。此即回答前面所提出的第乙個問題(選擇較優特徵)。id3演算法設定一閾值,當最大資訊增益小於閾值時,認為沒有找到有較優分類能力的特徵,沒有往下繼續**的必要。根據最大表決原則,將最多計數的類別作為此葉子節點。即回答前面所提出的第二個問題(停止**條件)。

id3演算法的核心是根據資訊增益最大的準則,遞迴地構造決策樹;演算法流程如下:

如果節點滿足停止**條件(所有記錄屬同一類別 or 最大資訊增益小於閾值),將其置為葉子節點;

選擇資訊增益最大的特徵進行**;

重複步驟1-2,直至分類完成。

c4.5演算法流程與id3相類似,只不過將資訊增益改為資訊增益比。

生成的決策樹對訓練資料會有很好的分類效果,卻可能對未知資料的**不準確,即決策樹模型發生過擬合(overfitting)——訓練誤差(training error)很小、泛化誤差(generalization error,亦可看作為test error)較大。下圖給出訓練誤差、測試誤差(test error)隨決策樹節點數的變化情況:

可以觀察到,當節點數較小時,訓練誤差與測試誤差均較大,即發生了欠擬合(underfitting)。當節點數較大時,訓練誤差較小,測試誤差卻很大,即發生了過擬合。只有當節點數適中是,訓練誤差居中,測試誤差較小;對訓練資料有較好的擬合,同時對未知資料有很好的分類準確率。

發生過擬合的根本原因是分類模型過於複雜,可能的原因如下:

為了解決過擬合,c4.5通過剪枝以減少模型的複雜度。[2]中提出一種簡單剪枝策略,通過極小化決策樹的整體損失函式(loss function)或代價函式(cost function)來實現,決策樹

t t

的損失函式為:lα

(t)=

c(t)

+α|t

| lα(t)=c(t)+α|t|

其中,c(

t)c(t)

表示決策樹的訓練誤差,

α α

為調節引數,|t

| |t|

為模型的複雜度。當模型越複雜時,訓練的誤差就越小。上述定義的損失正好做了兩者之間的權衡。

如果剪枝後損失函式減少了,即說明這是有效剪枝。具體剪枝演算法可以由動態規劃等來實現。

[1] pang-ning tan, michael steinbach, vipin kumar, introduction to data mining.

[2] 李航,《統計學習方法》.

[3] naren ramakrishnan, the top ten algorithms in data mining.

treant

出處:

資料探勘十大經典演算法

最近想看看資料探勘是個什麼東西,因此特別的關注了下,首先看看資料探勘包含哪些演算法,網上找到了十大經典演算法 01.c4.5 是機器學習演算法中的一種分類決策樹演算法,其核心演算法是 id3演算法 02.k means演算法 是一種聚類演算法。03.svm 一種 監督式學習 的方法,廣泛運用於統計分...

資料探勘十大經典演算法

1 c4.5 2 k means 3 svm 4 apriori 5 em 6 pagerank 7 adaboost 8 knn 9 bayes 10 cart 1 c4.5 計算增益率 step1 計算資料集d的熵 單位為位元 info d step2 計算每個屬性的熵info x d step...

十大經典資料探勘演算法

c4.5演算法 機器學習演算法中的乙個分類決策樹演算法 cart 分類與回歸樹 c4.5與cart都是決策樹演算法 id3用資訊增益,c4.5用資訊增益率,cart用gini係數 knn 樸素貝葉斯 bayes 在眾多的分類模型中,應用最為廣泛的兩種分類模型是決策樹模型 decision tree ...