15. バギングのアルゴリズム
1.以下の手順を B 回繰り返す.
a.データからm 回復元抽出して、新しいデータを作る.
b.弱学習器 h を構築する.
2. B 個の弱学習器 h を用いて最終的な学習器を構築する.
•判別問題の場合: H(x) = argmax|{i|hi = y}|
B
X
•回帰問題の場合: H(x) = 1 hi
B i=1
13
23. ランダムフォレストのアルゴリズム
1.以下の手順を B 回繰り返す.
a.訓練データからブートストラップサンプルを作成する.
b.ブートストラップサンプルから決定木 Tiを構築する.このとき,
指定したノード数 nmin になるまで,以下の手順を繰り返す.
i. p 個の説明変数から m 個の変数をランダムに選択する.
ii. m 個の説明変数から最も良い変数を分岐ノードとする.
2. B 個の決定木 Ti を用いて最終的な学習器を構築する
•判別問題の場合は多数決
•回帰問題の場合は平均
21
24. アルゴリズムの補足
• パラメータ nmin と m をどう決めれば良いのか?
p
• 判別問題の場合: nmin = 1, m = p
• 回帰問題に場合: nmin = 5, m = p/3
• バギングとランダムフォレストの違いは?
• バギングでは説明変数を全て使う
• ランダムフォレストでは説明変数をランダムサンプリングして使う
22
43. 説明変数の重要度
spam.rf
> varImpPlot(spam.rf)
charExclamation charExclamation
remove charDollar
capitalAve remove
hp free
charDollar capitalAve
free capitalLong
capitalLong your
edu hp
capitalTotal money
our capitalTotal
george our
your you
num1999 num000
money george
re hpl
you edu
hpl num1999
charRoundbracket charRoundbracket
meeting business
num000 all
business internet
will will
num650 re
internet email
font over
pm receive
technology mail
num85 credit
receive address
credit num650
0.35 0.40 0.45 0.50 0.55 0.60 0.65 0 50 100 150
MeanDecreaseAccuracy MeanDecreaseGini
40