《機器學習實戰(基於scikit-learn和TensorFlow)》第六章內容學習心得

本章講決策樹算法

決策樹,一種多功能且強大的機器學習算法。它實現了分類和迴歸任務,甚至多輸出任務。機器學習

決策樹的組合就是隨機森林。學習

本章的代碼部分不作說明,具體請到個人GitHub上自行獲取spa

決策樹的每一個節點都是一種屬性的判斷,每一個分支是判斷結果的輸出,是一種監督學習的算法。it

決策樹的類別有不少,最普遍使用的決策樹的生成算法是CART(Classification And Regression Tree)。io

  • CART:

首先,使用單個特徵k和閾值h將訓練集分爲兩個子集。對於上述兩個參數的選擇,須要通過搜索算法肯定。搜索

而後,重複上述操做,繼續分裂子集,直到達到最大深度。數據

  • 正則化

決策樹極少對訓練數據作假設,可是不加限制,總會過擬合。咱們須要對過擬合的決策樹進行正則化處理。咱們能夠使用max_depth、min_samples_leaf、min_samples_split等一系列的超參數進行控制。還有一種方式能夠控制,就是先不控制決策樹的生長,最後進行剪枝做業。若一個節點的子節點所有爲葉節點,則刪除該節點,直到所有節點處理完畢。co

  • 迴歸

決策樹能夠進行迴歸任務。與分類任務相比,差異在於每一個節點不是預測的類別,而是預測一個值。每一個分支節點預測的值永遠等於該節點內實力目標的平均值。算法的目標就是儘量的將最多的實例接近預測值。同時CART算法分裂方式就是最小化MSE。background

  • 不穩定性

決策樹是不穩定的。它對訓練集的旋轉很敏感。

相關文章
相關標籤/搜索