我們在做決斷的時候往往不是一蹴而就的,而是一步一步綜合各方面因素來做出最後決策,比如三叔要決定周二晚上是否去打羽毛球,會首先考慮最近身體狀況,然後考慮當天的天氣是否下雨,是否有朋友同去,是否有場地等因素再決定是否去打羽毛球,如果把這些因素及判定用下面豎直方向的流程圖畫出來正如一顆倒立的樹,決策樹因此得名。
我們知道樹是一種資料結構,它是由一些結點(node)和一些邊(edge)組成乙個具有層次關係的集合, 就如同自然界的一棵樹,有樹根,樹幹和葉子,乙個結點的上一層稱為其父級,下一層稱為其子級,對應父結點和子結點,邊連線父結點和子結點,決策樹就是一種樹形結構。
有了決策樹的結構後,關鍵是構建決策樹,讓其成為乙個自上而下,分而治之的有機整體。假設給定的資料集為
d =(
[x1,
y1],
[x2,
y2],
⋯,[x
n,yn
])td=([x_1,y_1],[x_2,y_2],\cdots,[x_n,y_n])^t
d=([x1
,y1
],[
x2,
y2]
,⋯,[
xn,
yn]
)t其中x i=
(xi1
,xi2
,⋯,x
ip)x_i=(x_,x_,\cdots,x_)
xi=(x
i1,
xi2
,⋯,x
ip)
表示第i
ii 個例項的 p
pp 個特徵f1,
⋯,fp
f_1,\cdots,f_p
f1,⋯,
fp的取值,y
iy_i
yi 表示第 i
ii個例項的標籤, n
nn 為例項的個數。
根據**規則,選擇最優的特徵fj(
1≤j≤
p)f_j(1\leq j \leq p)
fj(1≤
j≤p)
作為第乙個分支結點。
對**後的結果再選擇最優的特徵fk(
k≠j)
f_k( k \neq j)
fk(k
=j)
作為下乙個分支結點。
遞迴呼叫第2步,直到p
pp個特徵全被**完或者所有劃分路徑都清楚了,跳出迴圈。
畫個流程圖也許看的更清楚
決策樹屬於有監督的演算法,常用來提煉有用的規則,某種知識的探測,探索特徵與標籤的對映關係,探索各特徵對標籤影響相對大小等。
機智的你也許會問「我如何才能找到最優的特徵作為分支結點呢? 如果特徵足夠多,我也不能讓這棵樹無限的生長」,於是就有了下期的**規則演算法和剪枝。
機器學習 十二 決策樹(上)
決策樹 decision tree 是在已知各種情況發生概率的基礎上,通過構成決策樹來求取淨現值的期望值大於等於零的概率,評價專案風險,判斷其可行性的決策分析方法,是直觀運用概率分析的一種 法。由於這種決策分支畫成圖形很像一棵樹的枝幹,故稱決策樹。在機器學習中,決策樹是乙個 模型,他代表的是物件屬性...
機器學習(5) 決策樹(上)原理
決策樹是機器學習中一種基本的分類和回歸演算法,是依託於策略抉擇而建立起來的樹。其主要優點是模型具有可讀性,分類速度快,易於理解。決策樹的思想主要 於quinlan在1986年提出的id3演算法和1993年提出的c4.5演算法,以及有breiman等人在1984年提出的cart演算法。由於本章內容較多...
決策樹和CART決策樹
首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...