主要内容

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

树人クラス

説明

TreeBaggerは,分類または回帰のいずれかについて決定木のアンサンブルをバギングします。”“バギングとは”,引导聚合”を意味します。アンサンブル内の各ツリーは,個々に抽出された入力データのブートストラップ複製上で成長します。この複製に含まれない観測値は,このツリーにとって“袋”となります。

個別のツリーの成長に関して,TreeBaggerClassificationTreeRegressionTreeの機能に依存します。特に,ClassificationTreeRegressionTreeは各決定分岐について無作為に選択された特徴量の個数をオプションの入力引数として受け入れます。つまり,TreeBaggerはランダムフォレストアルゴリズム[1]を実装します。

回帰問題の場合,TreeBaggerは平均および分位点回帰 (つまり、分位点回帰フォレスト[2])をサポートします。

  • 与えられたデータに対する平均応答の予測または平均二乗誤差の推定を行うには,TreeBaggerモデルとデータを预测または错误にそれぞれ渡します。现成的観測値について同様の操作を実行するには、OOB预测またはoobErrorを使用します。

  • 与えられたデータに対する応答分布の分位数または分位数誤差を推定するには、TreeBaggerモデルとデータをquantilePredictまたはquantileErrorにそれぞれ渡します。现成的観測値について同様の操作を実行するには、oobQuantilePredictまたはoobQuantileErrorを使用します。

構築

TreeBagger 決定木の 一袋树の作成

オブジェクト関数

附加 アンサンブルに新しいツリーを追加する
紧凑的 決定木のコンパクトなアンサンブル
错误 誤差(誤分類の確率またはMSE)
fillprox 学習データの近接行列
种树 追加のツリーの育成とアンサンブルへの追加
边缘 分類マージン
mdsprox 近接行列の多次元尺度構成法
meanMargin 平均分類マージン
oobError 现成的誤差
oobMargin 现成的マージン
oobMeanMargin 现成的平均マージン
OOB预测 out-of-bag観測に対するアンサンブル予測
oobQuantileError 回帰の袋树のout-of-bag分位点損失
oobQuantilePredict 回帰の 一袋树による 现成的観測値の分位数予測
partialDependence 部分従属の計算
plotPartialDependence 部分依存プロット(PDP)および個別条件付き期待値(ICE)プロットの作成
预测 バギングされた決定木のアンサンブルの使用による応答の予測
quantileError 回帰の袋树の使用による分位点損失
quantilePredict 回帰の袋树の使用による応答の分位数の予測

プロパティ

一会

応答変数Y用のクラス名を含む 单间牢房配列です。回帰木の場合、このプロパティは空です。

ComputeOOBPrediction

観測の学習用にout-of-bag予測を計算するかどうかを指定する論理フラグです。既定の設定はです。

このフラグが符合事实的の場合,次のプロパティを使用できます。

  • OOBIndices

  • OOBInstanceWeight

このフラグが符合事实的の場合,次のメソッドを呼び出すことができます。

  • oobError

  • oobMargin

  • oobMeanMargin

ComputeOOBPredictorImportance

変数の重要度のout-of-bag推定を計算するかどうかを指定する論理フラグです。既定の設定はです。このフラグが符合事实的の場合,ComputeOOBPredictionも真正になります。

このフラグが符合事实的の場合,次のプロパティを使用できます。

  • OOBPermutedPredictorDeltaError

  • oobPermitedDeltameanMargin

  • oobPermutedPredictor CountraiseMargin

成本

正方行列。成本(i, j)は真のクラスがである場合に1つの点をクラスjに分類するためのコストです(行は真のクラス,列は予測したクラスに対応します)。成本の行と列の順序は,一会のクラスの順序に対応します。成本の行および列の数は、応答に含まれている一意なクラスの数です。

このプロパティは次のようになります。

  • 読み取り専用

  • 回帰木のアンサンブルの場合は空([]

DefaultYfit

预测OOB预测が返す既定値。DefaultYfitプロパティで,予測が不可能な場合にどのような予測値を返すかを指定します。たとえば,OOB预测でアンサンブルのすべてのツリーで 袋装である観測の予測を行う必要があるとします。

  • 分類では,このプロパティを''または“MostPopular”に設定できます。“MostPopular”(既定の設定)を選択すると,プロパティ値は学習データの中で最も可能性の高いクラスの名前になります。''を選択すると,袋中の観測値がout-of-bagの誤差およびマージンの計算から除外されます。

  • 回帰では、このプロパティを任意のスカラー値に設定できます。既定値は学習データの応答値の平均です。このプロパティをに設定すると,袋中の観測がout-of-bagの誤差およびマージンの計算から除外されます。

DeltaCriterionDecisionSplit

各変数の分割全体で合計され、成長したツリーのアンサンブル全体で平均化された分割基準の変化を示す、サイズが 1.行 Nvars列の数値配列です。

内包分数

各ブートストラップ複製について復元抽出により無作為に選択される観測値の比率。各複製のサイズは,脑袋×内包分数により指定されます。诺布は、学習セット内の観測数です。既定値は 1.です。

MergeLeaves

同じ親をもつ決定木の葉を,総リスクを減少させない分割のためにマージするかどうかを指定する論理フラグ。既定値はです。

方法

ツリーで使用されるメソッド。アンサンブル分類には“分类”、アンサンブル回帰には“回归”の値を使用できます。

小叶大小

ツリー リーフ 1.枚あたりの観測値の最小個数。小叶大小の既定の設定は,分類の場合は1,回帰の場合は5です。決定木の学習では,MinParent値を2*MinLeaf尺寸に設定する必要があります。

裸树

アンサンブル内の決定木の数と等しいスカラー値。

NumPredictorSplit

1.行Nvars列のサイズの数値配列であり、各要素はそれぞれの予測子による分割数を、すべてのツリーで合計したものです。

NumPredictorStopSample

各決定分岐で無作為に選択する予測子変数または特徴変数の個数。既定では、NumPredictorStopSampleは分類の場合は変数の総数の平方根,回帰の場合は変数の総数の3分の1に設定されています。

OOBIndices

脑袋行NumTrees列の逻辑配列。脑袋は学習データの観測数,NumTreesはアンサンブル内のツリーの数です。(i, j)要素の値が符合事实的の場合,観測我がツリーjについてout-of-bagであることを示します。つまり,観測 i がツリー j を成長させるための学習データとして選択されなかったことを意味します。

OOBInstanceWeight

観測ごとのout-of-bag応答を計算するために使用されたツリーの数を含む,脑袋行1列の数値配列。脑袋はアンサンブルの作成に使用された学習データの観測数です。

oobPermutedPredictor CountraiseMargin

1行据nvar列のサイズの数値配列であり,予測子変数(特徴量)ごとの変数重要度の尺度を含みます。いずれの変数の場合も,その変数の値がout-of-bag観測内で並べ替えられた場合に,上昇した分離マージンの数と低下した分離マージンの数との差が尺度になります。この尺度はツリーごとに計算され,アンサンブル全体で平均化されてから,アンサンブル全体の標準偏差で除算されます。回帰木の場合,このプロパティは空です。

OOBPermutedPredictorDeltaError

1.行 Nvars列のサイズの数値配列であり、予測子変数 (特徴量) ごとの重要度の尺度を含みます。いずれの変数の場合も、その変数の値が 现成的観測内で並べ替えられた場合、予測誤差の増加を尺度とします。この尺度はツリーごとに計算され、アンサンブル全体で平均化されてから、アンサンブル全体の標準偏差で除算されます。

oobPermitedDeltameanMargin

1行据nvar列のサイズの数値配列であり,予測子変数(特徴量)ごとの重要度の尺度を含みます。いずれの変数の場合も,その変数の値がout-of-bag観測内で並べ替えられた場合,分類マージンの減少を尺度とします。この尺度はツリーごとに計算され,アンサンブル全体で平均化されてから,アンサンブル全体の標準偏差で除算されます。回帰木の場合,このプロパティは空です。

OutlierMeasure

诺布行 1.列のサイズの数値配列です。诺布は学習データ内の観測値数で、観測ごとの外れ値の尺度を含んでいます。

先前的

各クラスの事前確率の数値ベクトル。先前的の要素の順序は,一会のクラスの順序に対応します。

このプロパティは次のようになります。

  • 読み取り専用

  • 回帰木のアンサンブルの場合は空([]

接近

脑袋行脑袋列のサイズの数値行列です。脑袋は学習データ内の観測値数で,観測値間の近接度を含んでいます。任意の2つの観測値の近接度は,これらの観測値がツリーの同じリーフに着地する比率として定義されます。これは1の対角要素と0 ~ 1の範囲の非対角要素をもつ対称行列です。

修剪

修剪プロパティは,決定木が枝刈りされる場合に真正となり,枝刈りされない場合に假となります。アンサンブルについては,決定木を枝刈りすることは推奨しません。既定値は假です。

替换样本

決定木ごとにデータが復元抽出されるかどうかを指定する論理フラグです。TreeBaggerがデータを復元抽出する場合,このプロパティは符合事实的になります。それ以外の場合はになります。既定値は符合事实的です。

树胶

fitctreeまたは菲特里用の引数の细胞配列これらの引数はアンサンブル用に新しいツリーを成長させるためにTreeBaggerによって使用されます。

アンサンブル内のツリーを格納するサイズNumTrees行1列の细胞配列です。

SurrogateAssociation

据nvar行据nvar列のサイズをもち,変数の関連性予測尺度を成長したツリーのアンサンブル全体で平均化した行列。アンサンブルの設定を“代孕”から“上”にすると、各ツリーのこの行列には、代理分岐で平均化された関連性予測尺度が入力されます。アンサンブル設定を“代孕”から“关闭”(既定値) にした場合、SurrogateAssociationは対角行列になります。

PredictorNames

予測子変数 (特徴量) の名前が含まれている 单间牢房配列。これらの名前をTreeBaggerに渡すには,オプションの“名字”パラメーターを使用します。既定の名前は“x1”“x2”などです。

W

長さ脑袋の重みの数値ベクトル。ここで脑袋は学習データの観測(行)数です。TreeBaggerはアンサンブルですべての決定木を成長させるために、これらの重みを使用します。既定の設定のW(脑袋,1)です。

X

サイズが脑袋行据nvar列のテーブルまたは数値行列。脑袋は学習データの観測値(行)の数,据nvarは変数(列)の数です。予測子値のテーブルを使用してアンサンブルに学習をさせた場合,Xはテーブルになります。予測子値の行列を使用してアンサンブルに学習をさせた場合、Xは行列になります。このプロパティには、予測子 (または特徴) の値が格納されます。

Y

サイズが 诺布の応答データの配列。Yの要素はXの行に対応します。分類の場合、Yは真のクラスラベルのセットです。ラベルは任意のグループ化変数,つまり数値ベクトル,逻辑ベクトル,文字行列,字符串配列,文字ベクトルの细胞配列,または直言ベクトルにすることができます。分類の場合,TreeBaggerはラベルを文字ベクトルの 单间牢房配列に変換します。回帰の場合、Yは数値ベクトルです。

すべて折りたたむ

フィッシャーのアヤメのデータセットを読み込みます。

负载fisheriris

データセット全体を使用して、バギング分類木のアンサンブルに学習をさせます。50個の弱学習器を指定します。木ごとにバギングしない観測値の情報を格納します。

rng (1);%的再现性Mdl=树獭(50,meas,物种,“OOB预测”“上”...“方法”“分类”
Mdl=TreeBagger集合和50个袋装决策树:Training X:[150x4]Training Y:[150x1]方法:分类NumPredictors:4 NumPredictors样本:2 MinLeaveSize:1 InBagFraction:1 SampleWithReplacement:1 ComputeOobPredictor:1 ComputeOobPredictor重要性:0邻近性:[]类名:“setosa”“VersionColor”“virginica”属性,方法

MdlTreeBaggerアンサンブルです。

Mdl.树には、アンサンブルを構成する学習済み分類木 (紧分类树モデルオブジェクト)の50行1列の细胞ベクトルが格納されます。

1番目の学習済み分類木のグラフをプロットします。

视图(Mdl.Trees{1},“模式”“图形”

图分类树查看器包含一个轴和其他类型的uimenu, uicontrol对象。轴包含21个类型为line, text的对象。

既定の設定では,TreeBaggerは木を深く成長させます。

Mdl。OOBIndicesには,out-of-bagインデックスが論理値の行列として格納されます。

out-of-bag誤差を,成長した分類木の数にプロットします。

图;oobErrorBaggedEnsemble = oobError (Mdl);情节(oobErrorBaggedEnsemble)包含“已长成的树的数量”;ylabel“行李外分类错误”

图中包含一个坐标轴。轴包含一个线型对象。

成長した分類木の数が増加すると、现成的誤差は減少します。

out-of-bagの観測値にラベル付けするには,MdlOOB预测に渡します。

卡斯莫尔データセットを読み込みます。与えられたエンジン排気量に対して自動車の燃費を予測するモデルを考えます。

负载卡斯莫尔

データセット全体を使用して、バギング回帰木のアンサンブルに学習をさせます。100個の弱学習器を指定します。

rng (1);%的再现性Mdl = TreeBagger(位移,100英里,“方法”“回归”);

MdlTreeBaggerアンサンブルです。

学習済みの回帰の 一袋树を使用すると、条件付き平均応答の推定や、分位点回帰の実行による条件付き分位の予測が可能です。

標本内の最小値と最大値の間で10等分したエンジン排気量について,条件付き平均応答と条件付き四分位数を予測します。

predX=linspace(最小(位移),最大(位移),10’;mpgMean=predict(Mdl,predX);mpgQuartiles=quantilePredict(Mdl,predX,分位数的, 0.25, 0.5, 0.75);

観測値、推定された平均応答および四分位数を同じ 图形にプロットします。

图;情节(位移,英里/加仑,“o”);持有在…上情节(predX mpgMean);情节(predX mpgQuartiles);ylabel (的燃油经济性);包含(“发动机排量”);传奇(“数据”“平均响应”“第一个四分位数”“中值”“第三四分位数”);

图中包含一个坐标轴。轴线包含5个线型对象。这些对象代表数据,平均响应,第一四分位数,中位数,第三四分位数。

卡斯莫尔データセットを読み込みます。与えられた加速、気筒数、エンジン排気量、馬力、製造業者、モデル年および重量に対して自動車の燃費の平均を予測するモデルを考えます。圆筒制造およびModel_Yearはカテゴリカル変数であるとします。

负载卡斯莫尔气缸=分类(缸);及时通知=分类(cellstr (Mfg));Model_Year =分类(Model_Year);X =表(加速、气缸、排量、马力、制造行业,...车型年,重量,MPG);rng(“默认”);%的再现性

カテゴリカル変数で表現されるカテゴリの個数を表示します。

numCylinders =元素个数(类别(气缸))
numCylinders = 3
numMfg =元素个数(类别(有限公司))
numMfg = 28
numModelYear=numel(类别(车型年))
numModelYear = 3

圆筒Model_Yearには 3.つしかカテゴリがないので、予測子分割アルゴリズムの標準 运货马车ではこの 2.つの変数よりも連続予測子が分割されます。

データセット全体を使用して,200本の回帰木のランダムフォレストに学習をさせます。偏りの無い木を成長させるため,予測子の分割に曲率検定を使用するよう指定します。データには欠損値が含まれているので,代理分岐を使用するよう指定します。予測子の重要度の推定に関するout-of-bag情報を格納します。

Mdl = TreeBagger (200 X,“英里”“方法”“回归”“代理”“上”...“PredictorSelection”“弯曲”“OOBPredictorImportance”“上”);

TreeBaggerは,予測子の重要度の推定をOOBPermutedPredictorDeltaErrorプロパティに格納します。棒グラフを使用して推定を比較します。

imp=Mdl.oobPermitedPredictor三角形错误;数字;条形图(imp);标题(“曲率测试”);伊莱贝尔(的预测估计的重要性);包含(“预测因素”); h=gca;h、 XTickLabel=Mdl.predictor名称;h、 XTickLabelRotation=45;h、 滴答计=“没有”

图中包含一个轴。标题为曲率的轴测试包含一个bar类型的对象。

このケースでは,最も重要な予測子はModel_Yearであり、次に重要なのは重量です。

標準购物车を使用して木を成長させるランダムフォレストから計算された予測子の重要度の推定と小鬼とを比較します。

MdlCART = TreeBagger (200 X,“英里”“方法”“回归”“代理”“上”...“OOBPredictorImportance”“上”);impCART=MdlCART.oobpermitedPredictor DeltaError;图;栏(impCART);标题(“标准车”);伊莱贝尔(的预测估计的重要性);包含(“预测因素”); h=gca;h、 XTickLabel=Mdl.predictor名称;h、 XTickLabelRotation=45;h、 滴答计=“没有”

图中包含一个坐标轴。标题为Standard CART的轴包含bar类型的对象。

このケースでは,最も重要な予測子は連続予測子重量です。2次に重要なつの予測子はModel_Yearと,ほぼ同程度の連続予測子马力です。

コピーのセマンティクス

値。これがクラスの使用に与える影響については,MATLAB®オブジェクト指向プログラミング”ドキュメンテーションのハンドル クラスと値クラスの比較を参照してください。

ヒント

TreeBaggerモデル オブジェクトBプロパティには,B.NumTrees個の紧分类树または紧回归树モデルオブジェクトが含まれている细胞ベクトルが格納されます。细胞ベクトルの木tをテキストまたはグラフィックで表示するには,次のように入力します。

视图(B.Trees {t})

代替機能

统计和机器学习工具箱™には,バギングおよびランダムフォレスト用に3つのオブジェクトが用意されています。

TreeBaggerとバギング アンサンブル (分类BaggedAssembleおよび回归分析)の違いについては,TreeBaggerとバギングアンサンブルの比較を参照してください。

参考文献

[1] 《随机森林》,机器学习45,第5-32页,2001年。

[2] Meinshausen, N.“分位数回归森林”《机器学习研究》,2006年第7卷,第983-999页。