機器學習 id3演算法與決策樹

2021-10-05 11:35:35 字數 2716 閱讀 3387

目錄

1、id3簡介與補充

2、例項與資料視覺化

看id3演算法將近一周左右了,其實從數學過程上去理解就只那麼一天,然後從哲學源頭去理解花了一二天,最後寫成程式前前後後用時一周左右。期間還包括用二三天時間學習matplotlib,自繪決策樹,做資料視覺化。

所謂,窮則獨善其身,達則兼濟天下。以後在名不正的情況下,就不過多地施其職,不做過多分享了。總之,就如大家所說,id3其實很簡單,稍複雜一點的是在**細節上的落實。

關於id3的介紹,太多太多,我這裡就補充幾點哲學上的內在邏輯:

id3往**是在分類,往大說是乙個決策結果、乙個概念形成過程;

乙個標籤的成立取決於若干相關特徵,id3就是基於分析這些特徵在影響標籤成立的重要性方面進行的;

進行某個判斷前後的資訊熵之差體現這個判斷依據對標籤成立的重要性;

越重要的特徵越早判斷。

#資料:

#fields=['outlook','temperature','humidity','windy','play']

#s=[

# ['sunny','hot','high','false','no'],

# ['sunny','hot','high','true','no'],

# ['overcast','hot','high','false','yes'],

# ['rain','mild','high','false','yes'],

# ['rain','cool','normal','false','yes'],

# ['rain','cool','normal','true','no'],

# ['overcast','cool','normal','true','yes'],

# ['sunny','mild','high','false','no'],

# ['sunny','cool','normal','false','yes'],

# ['rain','mild','normal','false','yes'],

# ['sunny','mild','normal','true','yes'],

# ['overcast','mild','high','true','yes'],

# ['overcast','hot','normal','false','yes'],

# ['rain','mild','high','true','no']

# ]

效果:

#資料:

#年齡,收入,學生,信貸率,買電腦

#age,income,student,credit_rating,buys_computer

#youth,high,no,fair,no

#youth,high,no,excellent,no

#middle_aged,high,no,fair,yes

#senior,medium,no,fair,yes

#senior,low,yes,fair,yes

#senior,low,yes,excellent,no

#middle_aged,low,yes,excellent,yes

#youth,medium,no,fair,no

#youth,low,yes,fair,yes

#senior,medium,yes,fair,yes

#youth,medium,yes,excellent,yes

#middle_aged,medium,no,excellent,yes

#middle_aged,high,yes,fair,yes

#senior,medium,no,excellent,no

ps:這個credit_rating我還真一時不知道該叫它什麼好。

效果:

其實還遠沒有結束,我還只做到id3演算法實現的程式準確性與資料視覺化這一層,既還沒用於學習訓練,也沒用於演算法自身準確度評價,學習結果輸出應用也還沒做,以及後面的更高階演算法都還沒涉足,看來還是要繼續學習。只不過,以後的這些都要簡單、方便很多很多。

機器學習02 決策樹ID3演算法

概述 通過分析每個資料特徵項在分類過程中所起到的所用比重,將資料劃分為幾個資料子集,如果某個資料子集資料同一型別,則無需再繼續劃分資料分類,如果不屬於同一分類,則需要在對資料子集進行分割。優點 計算複雜度不高。缺點 可能會出現由於樣本特徵值對應的樣本數量不統一導致結果偏向於數量多的樣本對應的分類。在...

決策樹 ID3演算法

id3演算法通過計算每個屬性的資訊增益,認為資訊增益越大屬性越優,每次劃分選取資訊增益最大的屬性為劃分標準,重複這個過程,直到構成一棵決策樹。資訊熵是描述事件給我們的驚訝程度,如果所有事件的概率均等,那熵值大,驚訝程度低。如果有一事件的概率極高而其他極低,熵值便低,驚訝程度大。其計算公式如下 資訊增...

決策樹 ID3演算法

一 決策樹基本概念 在機器學習中,決策樹是乙個 模型,它代表的是物件屬性與物件值之間的一種對映關係。本質上決策樹是通 過一系列規則對資料進行分類的過程。下圖為經典決策樹例項。如圖所示,例項是由 屬性 值 對表示的 例項是用一系列固定的屬性和他們的值構成。目標函式具有離散的輸出值 上圖給每個例項賦予乙...