機器學習 分類方法 || scikit learn : 決策樹學習 - SeanWu1977/Machine-Learning GitHub Wiki

最大化資訊增益(Information Gain , IG)

不純度計算方法 (越純值就越小,參閱impurity.py)

  • Gini impurity
  • entropy
  • classifcation error
  1. 每一層(父節點與子節點)會計算IG值,取IG值越大越好(即子節點不純度越小越好)
  2. IG值算法: 父不純度 - 所有(各別子節點不純度*各別子節點樣本數/所有樣本個數)和
  3. 運行時,會於每一層訂一個分類標準(ex. 長度大於 n )來計算IG值,介由調整分類標準(n的大小)來找最大IG

隨機林森(random forest)

  1. 流程:從訓練集中隨機取n個訓練資料(放回) -> 隨機取d個特徵(不放回) -> 計算決策樹
  2. 重覆上述流程k次,可產生k個決策樹
  3. 最後以多數決方式來決定最後決策樹
  • k越多,性能(結果越好),但要付出更多成本來計算
  • n越大,減少隨機性,會容易產生過度適合(overfitting)。n小則效能差。一般取訓練集大小。
  • d一般選訓練資料特徵數(m)開根號。 d = m^.5