決策樹是聽上去比較厲害且又相對簡單的算法,但在實現(xiàn)它的過程中可能會對編程本身有更深的理解、尤其是對遞歸的利用
我個人的習(xí)慣是先說明最終能干什么、然后再來說怎么實現(xiàn),這樣也能避免一些不必要的信息篩選。所以,這一部分主要用于讓已經(jīng)知道一定的基礎(chǔ)知識的童鞋知道最后能走多遠(yuǎn),如果是想從頭開始學(xué)的話可以無視這一章直接看第一章
-
ID3 和 C4.5(可以控制最大深度),CART 可能會在假期實現(xiàn)
可視化;比如在比較著名的蘑菇數(shù)據(jù)集上的最終結(jié)果為(隨機 5000 個訓(xùn)練):正確率 100%(大概挺正常的……)。其中,每個 Node 最后那個括號里面,箭頭前面是特征取值,箭頭后面或者是類別、或者是下一個選取的特征的維度

運用 cv2 的話可以畫出比較傳統(tǒng)的決策樹的可視化圖,效果大致如下:

其中紅色數(shù)字標(biāo)注了該 Node 選擇了數(shù)據(jù)的哪個維度,綠色字母表示該 Node 所屬的類別,白色字母代表著對應(yīng)數(shù)據(jù)維度特征的取值
比如說如果樣本的第 4 維(從 0 開始計數(shù))是 a、l 的話就判為類別 e,是 c、f、m、p、s、y 的話就判為類別 p,是 n 的話就再看樣本的第 7 維、以此類推
-
雖說我這個決策樹暫時不支持連續(xù)型特征,但相對應(yīng)的它有一個好處:你不用把離散型數(shù)據(jù)處理成數(shù)值形式、而可以直接把它輸入模型來訓(xùn)練。據(jù)我所知,scikit-learn 的 DecisionTreeClassifier 還不支持這一點(自豪臉)(然而人家比你快 1~2 倍)。
-
人工智能
+關(guān)注
關(guān)注
1804文章
48788瀏覽量
246964 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86289
原文標(biāo)題:從零開始學(xué)人工智能(12)--Python · 決策樹(零)· 簡介
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論