主要内容

RegressionTreeクラス

ス,パ,クラス:CompactRegressionTree

説明

バ@ @ナリ分割により回帰を行う決定木。クラスRegressionTreeのオブジェクトは,预测メソッドを使用して,新しいデ,タに対する応答を予測できます。オブジェクトには,学習に使用したデ,タが格納されているため,再代入予測を計算できます。

構築

RegressionTreeオブジェクトの作成にはfitrtreeを使用します。

プロパティ

BinEdges

数値予測子のビンのエッジ。p個の数値ベクトルが含まれている cell 配列を指定します。p は予測子の個数です。各ベクトルには、数値予測子のビンのエッジを含めます。カテゴリカル予測子はビン化されないので、カテゴリカル予測子の場合は、この cell 配列の要素を空にします。

数値予測子がビン化されるのは,木学習器を使用してモデルに学習をさせるときに名前と値の引数“NumBins”として正の整数スカラ,を指定した場合だけです。“NumBins”の値が空(既定)である場合,BinEdgesプロパティは空になります。

学習済みモデルmdlBinEdgesプロパティを使用することにより,ビン化された予測子デ,タXbinnedを再現できます。

X = mdl.X;%预测数据Xbinned = 0(大小(X));edges = mdl.BinEdges;查找已分类预测符的索引。idxNumeric = find(~cellfun(@isempty,edges));if iscolumn(idxNumeric) idxNumeric = idxNumeric';end for j = idxNumeric x = x (:,j);如果x是一个表,则将x转换为数组。If stable(x) x = table2array(x);将x分组到箱子中离散化函数。Xbinned =离散化(x,[-inf;边缘{};正]);Xbinned(:,j) = Xbinned;结束
数値予測子の場合,1からビンの個数までの範囲にあるビンのンデックスがXbinnedに格納されます。カテゴリカル予測子の場合,Xbinnedの値は0になります。Xが含まれている場合,対応するXbinnedの値はになります。

CategoricalPredictors

カテゴリカル予測子の@ @ンデックス。正の整数のベクトルとして指定します。CategoricalPredictorsには,対応する予測子がカテゴリカルであることを示す。ンデックス値の範囲は1 ~pです。pはモデルの学習に使用した予測子の数です。どの予測子もカテゴリカルではない場合、このプロパティは空([])になります。

CategoricalSplit

N行2列のcell配列。ここでnは,内のカテゴリカル分割の数です。CategoricalSplitの各行は,カテゴリカル分割用の左と右の値になります。カテゴリカル予測子変数zに基づくカテゴリカル分割をも各枝ノドjにおいて,zCategoricalSplit (j, 1)にあれば左の子を選択し,zCategoricalSplit (j, 2)にあれば右の子を選択します。分割はリのノドと同じ順序で行われます。これらの分割用のノ,ドは,cuttypeを実行し“分类”カットを上から下に選択すれば見かります。

孩子们

の各ノ,ドの子ノ,ドの数を含むn行2列の配列。ここで,nはノ,ドの数です。葉ノ,ドは子ノ,ド0をもます。

CutCategories

の分岐で使用されたカテゴリを表すn行2列のcell配列。Nはノド数です。カテゴリカル予測子変数xに基づく各枝ノ,ドに対して,xCutCategories{1},我内のカテゴリである場合は左側の子が選択され,xCutCategories{2},我内のカテゴリである場合は右側の子が選択されます。連続予測子に基づく枝ノ,ドと葉ノ,ドに対するCutCategoriesの列は両方とも空です。

割点には“连续”切り取りの切り取り点が含まれ,CutCategoriesにはカテゴリセットが含まれます。

割点

の切り取り点として使用される値を表す要素数nのベクトル。ここで,nはノ,ド数です。連続予測子変数xに基づく各枝ノ,ドにおいて,x <割点(我)の場合は左側の子が選択され,x > =割点(我)の場合は右側の子が選択されます。カテゴリカル予測子に基づく枝ノ,ドと葉ノ,ドに対する割点です。

CutType

の各ノドの切り取りのタプを示す要素数nのcell配列。ここで,nはノ,ド数です。各ノドに対してCutType{我}は次のいずれかです。

  • “连续”-変数xと切り取り点vに対して,切り取りがX < v形式で定義されている場合。

  • “分类”-変数xがカテゴリセット内の値を受け取るかどうかによって切り取りが定義されている場合。

  • - - - - - -が葉ノ,ドの場合。

割点には“连续”切り取りの切り取り点が含まれ,CutCategoriesにはカテゴリセットが含まれます。

CutPredictor

の各ノ,ドの分岐に使用された変数名を示す要素数nのcell配列。Nはノド数です。これらの変数は,“切り取り変数”と呼ばれることもあります。葉ノ,ドの場合,CutPredictorには空の文字ベクトルが格納されます。

割点には“连续”切り取りの切り取り点が含まれ,CutCategoriesにはカテゴリセットが含まれます。

CutPredictorIndex

の各ノドで分岐に使用される変数を対象とした,数値ンデックスのn要素配列。Nはノド数です。詳細は,CutPredictorを参照してください。

ExpandedPredictorNames

展開された予測子名。文字ベクトルのcell配列として格納されます。

モデルがカテゴリカル変数用のエンコ,ディングを使用している場合,ExpandedPredictorNamesには展開された変数を表す名前が格納されます。それ以外の場合,ExpandedPredictorNamesPredictorNamesと同じです。

HyperparameterOptimizationResults

ハパパラメタの交差検証最適化の説明。BayesianOptimizationオブジェクト,またはハパパラメタおよび関連する値が含まれているテブルとして格納されます。作成時に名前と値のペアOptimizeHyperparametersが空ではない場合,これは空ではありません。値は,作成時の名前と値のペアHyperparameterOptimizationOptionsの設定によって決まります。

  • “bayesopt”(既定)-BayesianOptimizationクラスのオブジェクト

  • “gridsearch”または“randomsearch”——使用したハイパーパラメーター,観測された目的関数の値(交差検証損失),および最低(最良)から最高(最悪)までの観測値の順位が格納されているテーブル

IsBranchNode

N要素のlogicalベクトルibであり,の各枝ノ,ドの場合は真正的,各葉ノ,ドの場合はになります。

ModelParameters

のパラメ,タ,を保持しているオブジェクト。

NumObservations

学習デタの観測値の数を表す数値スカラ。入力デ,タXまたは応答Yに欠損値がある場合,NumObservationsXの行数より少なくなる場合があります。

NodeError

に含まれるノドの誤差のn要素のベクトルe。ここで,nはノ,ド数です。e(我)は,ノ,ドの平均二乗誤差です。

NodeMean

の各ノドの平均値をもn要素の数値配列。ここでnはリのノド数を示します。NodeMeanの配列のすべての要素は,ノ,ドのすべての観測値に対する真のY値を平均です。

NodeProbability

に含まれるノドの確率のn要素のベクトルp。ここで,nはノ,ド数です。ノ,ドの確率は,ノ,ドの条件を満たす元のデ,タから,観測の比率として計算されます。

NodeRisk

リに含まれるノドのリスクを表すn要素のベクトル。ここで,nはノ,ド数です。各ノ,ドのリスクは、ノード確率によって重み付けされたノード誤差です。

NodeSize

に含まれるノドのサズのn要素のベクトル大小。ここで,nはノ,ド数です。ノードのサイズは,ノードの条件を満たすツリーを作成するために使用されるデータから,観測数として定義されます。

NumNodes

のノ,ド数n

に含まれる各ノ,ドの親ノ,ドの数を含むn要素のベクトルp。ここで,nは,ノ,ド数です。ル,トノ,ドの親は0です。

PredictorNames

予測子変数の名前のcell配列。並びはXに現れる順です。

PruneAlpha

枝刈りレベルごとに1の要素をも。枝刈りレベルの範囲が0 ~ mの場合,PruneAlphaには昇順に並べ替えられたm + 1要素が含まれます。PruneAlpha (1)は枝刈りレベル0(枝刈りなし)を表し,PruneAlpha (2)は枝刈りレベル1を表すというように続いていきます。

PruneList

の各ノドの枝刈りレベルをもn要素の数値ベクトル。ここでnはノ,ド数を示します。枝刈りレベルの範囲は0(枝刈りなし)からmです。Mは最下位の葉からル,トノ,ドまでの距離です。

ResponseName

応答変数 (Y)の名前を指定する文字ベクトル。

ResponseTransform

生の応答値(平均二乗誤差)を変換するための関数ハンドル。この関数ハンドルでは,応答値の行列を受け入れて同じサ。既定の“没有”@ x (x),まり変換なしを表します。

ドット表記を使用して関数ResponseTransformを追加または変更します。

树。ResponseTransform = @function

RowsUsed

当てはめに使用した元の予測子デタ(X)の行を示すn要素のlogicalベクトル。Xのすべての行を使用した場合,RowsUsedは空の配列([])になります。

SurrogateCutCategories

の代理分岐に使用するカテゴリのn要素のcell配列。ここでnはのノ,ド数です。各ノドkに対して,SurrogateCutCategories {k}はcell配列です。SurrogateCutCategories {k}の長さは,このノ,ドに見,かった代理予測子の数に等しくなります。SurrogateCutCategories {k}の各要素は,連続代理予測子の場合は空の文字ベクトル,カテゴリカル代理予測子の場合はカテゴリをもつ2要素细胞配列になります。2要素细胞配列の最初の要素には,この代理分岐によって左の子に割り当てられたカテゴリがリストされ,この2要素细胞配列の2番目の要素には,この代理分岐によって右の子に割り当てられたカテゴリがリストされます。各ノ,ドにおける代理分岐変数の順序は,SurrogateCutPredictorによって返される変数の順序に一致します。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogateCutCategoriesには空のセルが含まれます。

SurrogateCutFlip

の代理分岐に使用する数値切り取り点のn要素のcell配列。ここでnはのノ,ド数です。各ノドkに対して,SurrogateCutFlip {k}は数値ベクトルです。SurrogateCutFlip {k}の長さは,このノ,ドに見,かった代理予測子の数に等しくなります。SurrogateCutFlip {k}の各要素はカテゴリカル代理予測子でゼロになるか,連続代理予測子で数値切り取り点の割り当てになります。数値切り取り点の割り当ては,-1または+1のいずれかになります。連続予測子変数Zに基づく数値切り取り C が含まれるすべての代理分岐では、Z < cであり,その代理分岐の切り取りの割り当てが+1である場合,またはZ≥cであり,その代理分岐の切り取りの割り当てが-1である場合,左の子が選択されます。同様に,Z≥cであり,その代理分岐の切り取り点割り当てが+1である場合,またはZ < cであり,その代理分岐の切り取り点が-1である場合,右の子が選択されます。各ノ,ドにおける代理分岐変数の順序は,SurrogateCutPredictorによって返される変数の順序に一致します。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogateCutFlipには空の配列が含まれます。

SurrogateCutPoint

の代理分岐に使用される数値のn要素のcell配列。ここでnはのノ,ド数です。各ノドkに対して,SurrogateCutPoint {k}は数値ベクトルです。SurrogateCutPoint {k}の長さは,このノ,ドに見,かった代理予測子の数に等しくなります。SurrogateCutPoint {k}の各要素は,カテゴリカル代理予測子でになるか,連続代理予測子で数値切り取り点になります。連続予測子変数Zに基づく数値切り取り C が含まれるすべての代理分岐では、Z < Cであり,その代理分岐のSurrogateCutFlipが+1である場合,またはZ≥Cであり,その代理分岐のSurrogateCutFlipが-1である場合,左の子が選択されます。同様に,Z≥cであり,その代理分岐のSurrogateCutFlipが+1である場合,またはZ < cであり,その代理分岐のSurrogateCutFlipが-1である場合,右の子が選択されます。各ノ,ドの代理分岐変数の順序は,SurrCutPredictorによって返される変数の順序に一致します。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogateCutPointには空のセルが含まれます。

SurrogateCutType

の各ノドの代理分岐のタプを示すn要素のcell配列。ここでnはのノ,ド数です。各ノ,ドのkで,SurrogateCutType {k}はこのノドの代理分岐変数のタプをもcell配列です。変数は,最適予測子との結びつきの予測尺度によって降順に並べ替えられており,かつ正の予測尺度をもつ変数のみが含まれています。各ノ,ドにおける代理分岐変数の順序は,SurrogateCutPredictorによって返される変数の順序に一致します。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogateCutTypeには空のセルが含まれます。代理分岐のタesc escプは,変数Zと切り取り点VにいてZ<Vという形式で切り取りが定義される場合は“连续”,一連のカテゴリの値をZに使用するかどうかによって切り取りが定義される場合は“分类”にすることができます。

SurrogateCutPredictor

の各ノ,ドで代理分岐に使用する変数の名前のn要素のcell配列。ここでnはのノ,ド数です。SurrogateCutPredictorの各要素は,このノ,ドの代理分岐変数の名前をもcell配列です。変数は,最適予測子との結びつきの予測尺度によって降順に並べ替えられており,かつ正の予測尺度をもつ変数のみが含まれています。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogateCutPredictorには空のセルが含まれます。

SurrogatePredictorAssociation

の代理分岐に使用する関連性予測尺度のn要素のcell配列。ここでnはのノ,ド数です。各ノドkに対して,SurrogatePredictorAssociation {k}は数値ベクトルです。SurrogatePredictorAssociation {k}の長さは,このノ,ドに見,かった代理予測子の数に等しくなります。SurrogatePredictorAssociation {k}の各要素は,最適分割とこの代理分岐間の関連性予測尺度を与えます。各ノ,ドの代理分岐変数の順序は,SurrogateCutPredictorに存在する変数の順序になります。このノ,ドの最適分割変数は現れません。枝ではない(葉)ノ,ドの場合,SurrogatePredictorAssociationには空のセルが含まれます。

W

スケ,ルされた权重,長さnのベクトル,Xの行の数。

X

予測子の値の行列または表。Xの各列が1の変数を表し,各行が1。

Y

Xと同じ行数の数値列ベクトル。Yの各エントリはXの対応する行のデ,タに対する応答です。

オブジェクト関数

紧凑的 コンパクトな回帰木
crossval 交差検証を使用した決定木
cvloss 交差検証による回帰誤差
收集 Gpuからの统计和机器学习工具箱オブジェクトのプロパティの収集
石灰 局部可解释模型不可知解释(LIME)
损失 回帰誤差
nodeVariableRange 決定木ノ,ドの変数範囲の取得
partialDependence 部分従属の計算
plotPartialDependence 部分依存プロット(pdp)および個別条件付き期待値(ice)プロットの作成
预测 回帰木の使用による応答の予測
predictorImportance 回帰木の予測子の重要度の推定
修剪 枝刈りによる回帰サブリのシケンスの作成
resubLoss 再代入による回帰誤差
resubPredict リの再代入応答の予測
沙普利 シャプレ値
surrogateAssociation 回帰木における代理分岐に対する関連性の平均予測尺度
视图 回帰木の表示

コピ,のセマンティクス

値。値のクラスがコピ操作に与える影響にいては,オブジェクトのコピを参照してください。

すべて折りたたむ

標本デ,タを読み込みます。

负载carsmall

標本デ,タを使用して回帰木を構築します。応答変数は,ガロンあたりの走行マaaplル数(mpg)です。

tree = fitrtree([重量,气缸],MPG,...“CategoricalPredictors”2,“MinParentSize”, 20岁,...“PredictorNames”, {' W '“C”})
tree = RegressionTree PredictorNames: {'W' 'C'} ResponseName: 'Y' CategoricalPredictors: 2 ResponseTransform: 'none' NumObservations: 94属性,方法

4、6気筒数がおよび8で重さが約1.8吨(4000ポンド)の車の燃費を予測します。

MPG4Kpred = predict(tree,[4000 4;4000 6;4000 8])
MPG4Kpred =3×119.2778 19.2778 14.3889

参考文献

布莱曼,L.弗里德曼,R.奥尔申和C.斯通。分类和回归树。佛罗里达州博卡拉顿:CRC出版社,1984年。

拡張機能

バ,ジョン履歴

R2011aで導入