iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0

隨機森林是由多棵昨天提過的決策樹組成,適合用在分類問題

原理

由很多顆決策樹組成,他會先從原資料中隨機抽取多個樣本,用這些樣本以隨機特徵選取的方式建立多棵決策樹,最後由所有決策樹加權投票決定結果

  1. 從原始資料中隨機抽取多個樣本用以建立決策樹
  2. 每棵決策樹利用隨機特徵選取去建構
  3. 由所有決策樹投票決定結果

優缺點

  • 優點
    • 可減少過擬合(因為是採取隨機樣本及特徵選取,每棵樹可能用到的樣本和特徵都不同)
    • 可處理高維數據(由於是隨機特徵選取,每棵樹可能選到不同特徵)
  • 缺點
    • 資源消耗較多(建立多棵決策樹)
    • 可解釋性較差(無法清楚知道內部運作)

實作

  • 常用參數
    • n_estimators: 森林中樹木的數量,預設100
    • max_depth: 樹的最大深度
    • n_jobs: 同時運行的作業數量(-1表示使用所有處理器)
from sklearn.ensemble import RandomForestClassifier

for a in np.arange(30, 71, 10):
    for b in np.arange(300, 701, 100):       
        forest=RandomForestClassifier(max_depth=a,n_estimators=b,n_jobs=-1, random_state=0)
        clf = forest.fit(X_train,y_train)
        print(clf.predict(X_test))
    

參考資料


上一篇
Day9-決策樹 (Decision Trees)
下一篇
Day11-集成學習Ensemble Learning(bagging/boosting)
系列文
什麼演算法?一起來學機器學習!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言