主要内容

。

分类树クラス

スーパークラス:紧分类树

マルチクラス分类用の二分决定木

説明

ClassificationTreeオブジェクトは,分类用にバイナリ分割を行う决定木を表します。このクラスのオブジェクトは,预测メソッドを使用して新しいデータに対する応答を予測できます。オブジェクトには学習に使用したデータが含まれているので、再代入予測も計算できます。

构筑

ClassificationTreeオブジェクトの作成には菲茨特里を使用します。

プロパティ

BinEdges

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

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

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

X=mdl.X;%Predictor data Xbinned=zero(size(X));edges=mdl.BinEdges;%Find binned预测器的索引。idxNumeric=Find(~cellfun(@isempty,edges));if iscolumn(idxNumeric)idxNumeric=idxNumeric';end for j=idxNumeric X=X(:,j);%X转换为数组,如果X是表。if istable(X)X=table2array(X);使用离散化功能。xbinned =离散化(X,[ -  INF;边缘{Ĵ}; INF]);Xbinned(:,J)= xbinned;结尾
数値予测子の场合,1からビンの个数までの范囲にあるビンのインデックスがXbinnedに格纳されます。カテゴリカル予测子の场合,Xbinnedの値は0になります。Xが含まれている場合、対応するXbinnedの値はになります。

分类预测器

カテゴリカル予測子のインデックス。正の整数のベクトルを指定します。分类预测器には、カテゴリカル予測子が含まれている予測子データの列に対応するインデックス値を格納します。どの予測子もカテゴリカルではない場合、このプロパティは空 ([]) になります。

分类分割

N行 2.列の 单间牢房配列。ここで Nは、内のカテゴリカル分割の数です。分类拆分の各行は、カテゴリカル分割用の左と右の値になります。カテゴリカル予測子変数Zに基づくカテゴリカル分割をもつ各枝ノードJにおいて、Z分类拆分(j,1)にあれば左の子を選択し、Z分类拆分(j,2)にあれば右の子を選択します。分割はツリーのノードと同じ順序で行われます。剪型プロパティの“绝对”切り取りを上から下に选択することによって,これらの分割のノードを検出します。

儿童

の各ノードの子ノードの数を含む N行 2.列の配列。ここで、Nはノードの数です。葉ノードは子ノード0をもちます。

班级人数

のノードのクラス カウントを表す N行 K列の配列。ここで、Nはノード数、Kはクラス数となります。任意のノード番号に対して、クラス カウント类计数(i,:)はノードの条件を満たす各クラスからの (ツリーの近似に使用したデータからの) 観測カウント数です。

类名

重複が削除されたYの要素のリスト。类名には、明确的配列、文字ベクトルの 单间牢房配列、文字配列、必然的ベクトル、数値ベクトルのいずれかを指定できます。类名は,引数Yのデータと同じデータ型です。(字符串配列は文字ベクトルの细胞配列として扱われます)。

类概率

のノードのクラス確率を表す N行 K列の配列。ここで、Nはノード数、Kはクラス数となります。任意のノード番号に対して、クラス確率类概率(i,:)は、ノードの条件を満たすポイントに対する各クラスの推定確率です。

成本

正方行列。成本(i,j)は真のクラスがである点をクラスJに分類するコストです (行は真のクラス、列は予測したクラスに対応します)。成本の行と列の順序は、类名のクラスの順序に対応します。成本の行および列の数は、応答に含まれている一意なクラスの数です。このプロパティは読み取り専用です。

切割类别

の分岐で使用されたカテゴリを表す N行 2.列の 单间牢房配列。Nはノード数です。カテゴリカル予測子変数Xに基づく各枝ノードに対して、X剖分类别{i,1}内のカテゴリである場合は左側の子が選択され、X剖分类别{i,2}内のカテゴリである場合は右側の子が選択されます。連続予測子に基づく枝ノードと葉ノードに対する切割类别の列は両方とも空です。

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

割点

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

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

剪型

の各ノードの切り取りのタイプを示す要素数Ñの细胞配列。ここで,正はノード数です。各ノードに対して剪切类型{i}は次のいずれかです。

  • “连续的”- 変数Xと切り取り点vに対して、切り取りがX形式で定义されている场合。

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

  • ''が葉ノードの場合。

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

割线预测器

の各ノードの分岐に使用された変数名を示す要素数 Nの 单间牢房配列。Nはノード数です。これらの変数は、"切り取り変数"と呼ばれることもあります。葉ノードの場合、割线预测器には空の文字ベクトルが格纳されます。

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

切割预测指数

の各ノードで分岐に使用される変数を対象とした、数値インデックスの N要素配列。Nはノード数です。詳細は、割线预测器を参照してください。

ExpandedPredictorNames.

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

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

超参数优化结果

ハイパーパラメーターの交差検証最適化の説明。贝叶斯优化オブジェクト、またはハイパーパラメーターおよび関連する値が含まれているテーブルとして格納されます。作成時に名前と値のペア优化超参数が空ではない场合,これは空ではありません。値は,作成时の名前と値のペア超参数优化选项の设定によって决まります。

  • “bayesopt”(既定) —贝叶斯优化クラスのオブジェクト

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

IsBranchNode

N要素の 必然的ベクトルであり、の各枝ノードの场合は符合事实的、各葉ノードの場合は错误的になります。

模型参数

の学習に使用されるパラメーター。すべてのパラメーター値を表示するには、「tree.ModelParameters」と入力します。特定のパラメーターにアクセスするには,ドット表记を使用します。

NumObservations

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

节点类

の各ノードで最も確からしいクラスの名前と N要素の 单间牢房配列。ここで Nはツリーのノード数を示します。この配列の各要素は、类名に含まれているクラス名のいずれかに等しい文字ベクトルです。

NodeError

に含まれるノードの誤差の N要素のベクトル。ここで、Nはノード数です。NodeError(i)は、ノードの誤分類の確率です。

节点可能性

に含まれるノードの確率の N要素のベクトル。ここで、 Nはノード数です。ノードの確率は、ノードの条件を満たす元のデータから、観測の比率として計算されます。この比率は、各クラスに割り当てられている前の確率に対して調整されます。

诺德里克

ツリーに含まれるノードのリスクを表すÑ要素のベクトル。ここで,正はノード数です。各ノードのリスクは,ノード确率で重みが付けられたこのノードの不纯度の测定基准(ジニ指数または逸脱度)です。ツリーが两分によって成长した场合,各ノードのリスクはゼロです。

NodeSize

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

珠心

のノード数。

父母亲

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

预测

予測子名が含まれている文字ベクトルの 单间牢房配列。並びはXに現れる順です。

先前的

各クラスの事前確率の数値ベクトル。先前的の要素の順序は、类名のクラスの順序に対応します。先前的の要素数は、応答に含まれている一意なクラスの数です。このプロパティは読み取り専用です。

梅内尔帕

枝刈りレベルごとに1つの要素をもつ数値ベクトル。枝刈りレベルの范囲が0 - Mの场合,梅内尔帕には升顺に并べ替えられたM + 1要素が含まれます。李属植物(1)は枝刈りレベル 0 (枝刈りなし) を表し、李海棠(2)は枝刈りレベル 1.を表すというように続いていきます。

修剪师

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

反应胺

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

吵闹

あてはめに使用した元の予測子データ (X)の行を示すÑ要素の逻辑ベクトル。Xのすべての行を使用した場合、吵闹は空の配列 ([]) になります。

scoretransform.

予测された分类スコアを変换するための关数ハンドル,または组み込みの変换关数を表す文字ベクトル。

没有任何は変换がないか,@(x) xであることを表します。

スコア変換関数を作用などに変更するには,ドット表记を使用します。

  • 使用可能な関数 (菲茨特里を参照)について,次のように入力します。

    Mdl.ScoreTransform='函数';
  • 使用可能な関数またはユーザー定義関数について、次のように入力すると関数ハンドルを設定できます。

    tree.ScoreTransform=@函数;

代理类别

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

代理剪贴画

の代理分岐に使用する数値切り取り点の N要素の 单间牢房配列。ここで Nはのノード数です。各ノードKに対して、代理CutFlip{k}は数値ベクトルです。代理CutFlip{k}の長さは、このノードに見つかった代理予測子の数に等しくなります。代理CutFlip{k}の各要素はカテゴリカル代理予测子でゼロになるか,连続代理予测子で数値切り取り点の割り当てになります。数値切り取り点の割り当ては,-1または1のいずれかになります。连続予测子変数žに基づく数値切り取りçが含まれるすべての代理分岐では,Zでこの代理分岐の切り取りの割り当てが +1.であるか、Z≥Cでこの代理分岐の切り取りの割り当てが -1.である場合に、左の子が選択されます。同様に、Z≥Cでこの代理分岐の切り取り点割り当てが +1.であるか、Zでこの代理分岐の切り取り点が -1.であれば右の子が選択されます。各ノードにおける代理分岐変数の順序は、替代预测因子によって返される変数の順序に一致します。このノードの最適分割変数は現れません。枝ではない (葉) ノードの場合、代理剪贴画には空の配列が含まれます。

替代切点

の代理分岐に使用される数値のÑ要素の细胞配列。ここでÑはのノード数です。各ノードKに対して、代理断点{k}は数値ベクトルです。代理断点{k}の長さは、このノードに見つかった代理予測子の数に等しくなります。代理断点{k}の各要素は、カテゴリカル代理予測子でになるか、連続代理予測子で数値切り取り点になります。連続予測子変数 Zに基づく数値切り取り Cが含まれるすべての代理分岐では、Zであり、その代理分岐の代理剪贴画が+1である场合,またはZ≥Cであり、その代理分岐の代理剪贴画が-1である场合,左の子が选択されます。同様に,この代理分岐のZ≥C代理剪贴画が+1であるか,もしくはこの代理分岐のZ代理剪贴画が -1.であれば右の子が選択されます。各ノードの代理分岐変数の順序は、替代预测因子によって返される変数の順序に一致します。このノードの最適分割変数は現れません。枝ではない (葉) ノードの場合、替代切点には空のセルが含まれます。

SurrogateCutType

の各ノードの代理分岐のタイプを示す N要素の 单间牢房配列。ここで Nはのノード数です。各ノードのKで、代理剪切类型{k}はこのノードの代理分岐変数のタイプをもつ 单间牢房配列です。変数は、最適予測子との結びつきの予測尺度によって降順に並べ替えられており、かつ正の予測尺度をもつ変数のみが含まれています。各ノードにおける代理分岐変数の順序は、替代预测因子によって返される変数の順序に一致します。このノードの最適分割変数は現れません。枝ではない (葉) ノードの場合、SurrogateCutTypeには空のセルが含まれます。代理分岐のタイプは、切り取りが変数Zに対してZ<vの形式で定義されている場合は“连续的”に、切り取りがZがカテゴリのセットの値を取るかどうかによって定義されている場合は切り取り点vまたは“绝对”のいずれかになります。

替代预测因子

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

代理预测者协会

の代理分岐に使用する関連性予測尺度の N要素の 单间牢房配列。ここで Nはのノード数です。各ノードKに対して、SurrogatePredictorAssociation {K}は数値ベクトルです。SurrogatePredictorAssociation {K}の長さは、このノードに見つかった代理予測子の数に等しくなります。SurrogatePredictorAssociation {K}の各要素は,最适分割とこの代理分岐间の关连性予测尺度を与えます。各ノードの代理分岐変数の顺序は,替代预测因子に存在する変数の順序になります。このノードの最適分割変数は現れません。枝ではない (葉) ノードの場合、代理预测者协会には空のセルが含まれます。

W

スケールされた砝码、長さ Nのベクトル、Xの行の数。

X

予測子の値の行列または 桌子Xの各列が 1.つの変数を表し、各行が 1.つの観測値を表します。

Y

明确的配列、文字ベクトルの 单间牢房配列、文字配列、必然的ベクトルまたは数値ベクトル。Yの各行は,Xの対応する行の分类を表します。

オブジェクト関数

袖珍的 コンパクトなツリー
比较控股 新しいデータを使用して 2.つの分類モデルの精度を比較
克罗斯瓦尔 交差検証を使用した決定木
cvloss 交差検証による分類誤差
分類エッジ
酸橙 局部可解释模型不可知解释(LIME)
损失 分类误差
边缘 分类マージン
部分依赖 部分従属の計算
plotPartialDependence 部分依存プロット(PDP)および个别条件付き期待値(ICE)プロットの作成
预测 分类木の使用によるラベルの予测
预测重要性 分類木の予測子の重要度の推定
修剪 枝刈りによる分類サブツリーのシーケンスの作成
再沉积 再代入による分类エッジ
恢复 再置換による分類誤差
resubMargin 再代入による分類マージン
再预测 分類木の再代入ラベルを予測
代孕协会 分类木における代理分岐に対する关连性の平均予测尺度
夏普利 シャープレイ値
testckfold 交差検証の反復により 2.つの分類モデルの精度を比較
看法 分类木の表示

コピーのセマンティクス

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

すべて折りたたむ

电离层データセットを使用して分類木を成長させます。

负载电离层tc=fitctree(X,Y)
tc=ClassificationTree ResponseName:'Y'分类预测值:[]类名:{'b''g'}ScoreTransform:'none'NumObservations:351个属性、方法

名前と値のペアの引数最大数分裂小叶大小またはMinParentSizeを使用すると、木の深さを制御できます。既定では、菲茨特里は深い决定木を成长させます。モデルの复雑さや计算时间の削减のために,より浅い木を成长させることもできます。

电离层データセットを読み込みます。

负载电离层

分类木を成长させる场合,木の深さの制御に关する既定値は次のとおりです。

  • 最大数分裂n-1Nは学习标本のサイズです。

  • 小叶大小1.

  • MinParentSize10

これらの既定値を使用すると、学習標本のサイズが大きい場合に木が深く成長する傾向があります。

木の深さの制御について既定値を使用して、分類木を学習させます。10分割の交差検証をモデルに対して実行します。

RNG(1);重复性的%MDLDEFULT=FITCREE(X,Y,“克罗斯瓦尔”,“开”);

木に適用される分割数のヒストグラムを描画します。また、木の 1.つを表示します。

numBranches = @(x)的总和(x.IsBranch);mdlDefaultNumSplits = cellfun(numBranches,MdlDefault.Trained);数字;直方图(mdlDefaultNumSplits)

图包含轴。轴包含类型的直方图的一个目的。

视图(MdlDefault.Trained {1},“模式”,“图形”)

图分类树查看器包含一个轴和类型uimenu,uicontrol的其他对象。轴包含型线,文字51级的对象。

分割数の平均は約 15です。

既定の分割数を使用して学习させたものほど复雑ではない(深くない)分类木が必要であるとします。最大分割数を7に设定して别の分类木を学习させることで,既定値の分类木からの平均分割数が约半分になります0.10分割の交差検证をモデルに対して実行します。

Mdl7=fitctree(X,Y,'MaxNumSplits'7.“克罗斯瓦尔”,“开”);视图(Mdl7.1},“模式”,“图形”)

uicontrol、图形和其他类型的菜单轴包含UI21轴的文本对象。

モデルの交差検证分类误差を比较します。

classErrorDefault=kfoldLoss(MdlDefault)
classErrorDefault=0.1168
classError7=kfoldLoss(Mdl7)
classError7=0.1311

Mdl7は、MDL断层より大幅に単纯化されており,性能は少しだけ低下します。

詳細

すべて展开する

参考文献

[1] Breiman,L.,J。弗里德曼,R. Olshen,和C.石。分类和回归树。佛罗里达州Boca Raton:CRC出版社,1984年。

拡张机能

R2011aで导入