機器學習 分類方法 || scikit learn : 決策樹學習 - SeanWu1977/Machine-Learning GitHub Wiki
最大化資訊增益(Information Gain , IG)
不純度計算方法 (越純值就越小,參閱impurity.py)
- Gini impurity
- entropy
- classifcation error
- 每一層(父節點與子節點)會計算IG值,取IG值越大越好(即子節點不純度越小越好)
- IG值算法: 父不純度 - 所有(各別子節點不純度*各別子節點樣本數/所有樣本個數)和
- 運行時,會於每一層訂一個分類標準(ex. 長度大於 n )來計算IG值,介由調整分類標準(n的大小)來找最大IG
隨機林森(random forest)
- 流程:從訓練集中隨機取n個訓練資料(放回) -> 隨機取d個特徵(不放回) -> 計算決策樹
- 重覆上述流程k次,可產生k個決策樹
- 最後以多數決方式來決定最後決策樹
- k越多,性能(結果越好),但要付出更多成本來計算
- n越大,減少隨機性,會容易產生過度適合(overfitting)。n小則效能差。一般取訓練集大小。
- d一般選訓練資料特徵數(m)開根號。 d = m^.5