このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
クラス:TreeBagger
決定木の袋树の作成
個々の決定木には,過適合になる傾向があります。ブートストラップ集約された(“バギングされた”)決定木は多数の決定木の結果を結合するので,過適合の影響が少なくなり,汎化が改善されます。TreeBagger
は,データのブートストラップ標本を使用して,アンサンブル内の決定木を成長させます。また,ランダムフォレストアルゴリズム[1]の場合と同じように,TreeBagger
は各決定分岐で使用する予測子のサブセットを無作為に選択します。
既定の設定では,TreeBagger
は分類木をバギングします。代わりに回帰木をバギングするには,“方法”,“回归”
を指定します。
回帰問題の場合,TreeBagger
は平均および分位点回帰(つまり,分位点回帰フォレスト[5])をサポートします。
ResponseVarName Mdl = TreeBagger (NumTrees(资源)
Mdl = TreeBagger (NumTrees、资源描述、公式)
Mdl = TreeBagger (NumTrees台,Y)
B = TreeBagger (NumTrees, X, Y)
B = TreeBagger (NumTrees, X, Y,名称,值)
は、表Mdl
= TreeBagger (NumTrees
,资源描述
,ResponseVarName
)资源描述
内の標本データを使用して学習をさせた,NumTrees
本のバギング分類木のアンサンブルを返します。ResponseVarName
は,资源描述
内の応答変数の名前です。
は,テーブルMdl
= TreeBagger (NumTrees
,资源描述
,公式
)资源描述
内の標本データを使用して学習させた,バギング分類木のアンサンブルを返します。公式
は,Mdl
のあてはめに使用する応答および资源描述
内の予測子変数サブセットの説明モデルです。公式
の指定にはウィルキンソンの表記法を使用します。詳細は,ウィルキンソンの表記法を参照してください。
は,テーブルMdl
= TreeBagger (NumTrees
,资源描述
,Y
)资源描述
内の予測子変数とベクトルY
内のクラスラベルを使用して,分類木のアンサンブルを返します。
Y
は,応答データの配列です。Y
の要素は资源描述
の行に対応します。分類の場合,Y
は真のクラスラベルのセットです。ラベルは任意のグループ化変数,つまり数値ベクトル,逻辑ベクトル,文字行列,字符串配列,文字ベクトルの细胞配列,または直言ベクトルにすることができます。TreeBagger
はラベルを文字ベクトルの细胞配列に変換します。回帰の場合,Y
は数値ベクトルです。回帰木を成長させるには、名前と値のペア“方法”,“回归”
を指定しなければなりません。
は,学習データの数値行列B
= TreeBagger (NumTrees
,X
,Y
)X
に格納されている予測子の関数として応答Y
を予測するための,NumTrees
本の決定木のアンサンブルB
を作成します。X
の各行は観測値を,各列は予測子または特徴を表します。
B = TreeBagger (NumTrees, X, Y,名称,值)
では,次のオプションパラメーターの名前と値のペアを指定します。
“InBagFraction” |
それぞれの新しいツリーを成長させるために入力データから復元抽出する,入力データの比率。既定値は1です。 |
“成本” |
正方行列 または,
既定値は,
|
“SampleWithReplacement” |
復元抽出の場合は“上” ,非復元抽出の場合は“关闭” 。非復元抽出の場合,“InBagFraction” を1より小さい値に設定する必要があります。既定の設定は“上” です。 |
“OOBPrediction” |
各ツリーに対して的袋子である観測値についての情報を格納する場合は“上” 。この情報は,oobPrediction がアンサンブル内の各ツリーについて予測されたクラス確率を計算するために使用することができます。既定値は“关闭” です。 |
“OOBPredictorImportance” |
アンサンブル内の特徴量の重要度のout-of-bag推定値を格納する場合は“上” 。既定値は“关闭” です。“上” を指定すると,“OOBPrediction” 値も“上” に設定されます。予測子の重要度の分析が目標である場合は,“PredictorSelection”、“弯曲” または“PredictorSelection”、“interaction-curvature” も指定します。詳細については,fitctree またはfitrtree を参照してください。 |
“方法” |
“分类” または“回归” 。回帰では数値Y が必要です。 |
“NumPredictorsToSample” |
各決定分岐で無作為に選択する変数の個数。既定の設定は、分類の場合は変数の個数の平方根、回帰の場合は変数の個数の 1/3 です。有効値は、“所有” または正の整数です。この引数を“所有” 以外の任意の有効値に設定すると,Breimanのランダムフォレストアルゴリズム[1]が呼び出されます。 |
“NumPrint” |
学習サイクルの数(成長したツリー)。この後に,学習の進行を示す診断メッセージがTreeBagger により表示されます。既定の設定では,診断メッセージなしです。 |
“MinLeafSize” |
ツリーリーフ1枚あたりの観測値の最小個数。既定値は分類の場合は 1、回帰の場合は 5 です。 |
“选项” |
決定木のアンサンブルを成長させるときの計算を左右するオプションを指定する構造体。并行计算工具箱™を使用できる場合,オプション数を1にすると,複数のブートストラップ複製における決定木の計算で,複数のプロセッサを使用するように要求されます。オプション数が2の場合は,ブートストラップ複製を選択する際に乱数ストリームを使用するよう指定されます。この引数は,
|
“之前” |
各クラスの事前確率。次のいずれかを指定します。
|
“PredictorNames” |
予測子変数名。
|
“CategoricalPredictors” |
カテゴリカル予測子のリスト。
|
ChunkSize的 |
チャンクのサイズ。 メモ このオプションは,高配列に対して |
上記のオプション引数に加えて,TreeBagger
はfitctree
とfitrtree
について次のオプション引数を受け入れます。
サポートされるfitctree の引数 |
サポートされるfitrtree の引数 |
---|---|
AlgorithmForCategorical |
MaxNumSplits |
MaxNumCategories |
MergeLeaves |
MaxNumSplits |
PredictorSelection |
MergeLeaves |
修剪 |
PredictorSelection |
PruneCriterion |
修剪 |
QuadraticErrorTolerance |
PruneCriterion |
SplitCriterion |
SplitCriterion |
代理 |
代理 |
权重 |
“重量” |
より平衡な誤分類コスト行列または歪みが少ない事前確率ベクトルを設定して,out-of-bagの推定誤差の変動幅が大きくならないようにします。
B
の树
プロパティには,B.NumTrees
個のCompactClassificationTree
またはCompactRegressionTree
モデルオブジェクトから構成される细胞配列が格納されます。细胞配列内の木t
をテキストまたはグラフィックで表示するには,以下を入力します。
视图(B.Trees {t})
標準购物车アルゴリズムには,相違する値が少ない分割予測子(カテゴリカル変数など)よりも,相違する値が多い分割予測子(連続変数など)を選択する傾向があります[4]。以下のいずれかに該当する場合は,曲率検定または交互作用検定の指定を検討してください。
相違する値の個数が他の予測子よりも比較的少ない予測子がある場合(予測子データセットが異種混合である場合など)。
予測子の重要度の分析が目標である場合。TreeBagger
は,予測子の重要度の推定をMdl
のOOBPermutedPredictorDeltaError
プロパティに格納します。
予測子の選択に関する詳細については,分類木の場合はPredictorSelection
を,回帰木の場合はPredictorSelection
を参照してください。
TreeBagger
は誤分類コストが大きいクラスをオーバーサンプリングし,誤分類コストが小さいクラスをアンダーサンプリングして,袋中の標本を生成します。その結果,out-of-bagの標本では,誤分類コストが大きいクラスの観測値は少なくなり,誤分類コストが小さいクラスの観測値は多くなります。小さなデータセットと歪みが大きいコスト行列を使用してアンサンブル分類を学習させる場合,クラスあたりのout-of-bagの観測値の数は非常に少なくなることがあります。そのため,推定されたout-of-bagの誤差の変動幅が非常に大きくなり,解釈が困難になる場合があります。事前確率が大きいクラスでも同じ現象が発生する場合があります。
決定木を成長させるときの分割予測子の選択とノード分割アルゴリズムの詳細については,分類木の場合はアルゴリズムを,回帰木の場合はアルゴリズムを参照してください。
统计和机器学习工具箱™には,バギングおよびランダムフォレスト用に3つのオブジェクトが用意されています。
fitcensemble
によって作成される,分類用のClassificationBaggedEnsemble
fitrensemble
によって作成される,回帰用のRegressionBaggedEnsemble
TreeBagger
によって作成される,分類および回帰用のTreeBagger
TreeBagger
とバギングアンサンブル(ClassificationBaggedEnsemble
およびRegressionBaggedEnsemble
)の違いについては,TreeBaggerとバギングアンサンブルの比較を参照してください。
[1] Breiman, L。“随机森林。”机器学习45,pp. 5-32, 2001。
[2] Breiman, L., J. Friedman, R. Olshen, C. Stone。分类和回归树。佛罗里达州博卡拉顿:CRC出版社,1984。
[3] Loh, W.Y., <具有无偏变量选择和交互检测的回归树>《统计》,2002年第12卷,第361-386页。
Loh w.y y and Y.S. Shih分类树的分裂选择方法中国统计,1997年第7卷,第815-840页。
[5] Meinshausen, N.“分位数回归森林”《机器学习研究》,2006年第7卷,第983-999页。