ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

classregtree

クラス: classregtree

分類木と回帰木の作成

構文

t = classregtree(X,y)
t = classregtree(X,y,'Name',value)

説明

    メモ:   この関数は ClassificationTree クラスおよび RegressionTree クラスの ClassificationTree.fitRegressionTree.fit によって置き換えられました。これは下位互換性のためだけに維持されています。

t = classregtree(X,y) は、X の列の予測子値の関数として応答 y を予測するために決定木 t を作成します。X は、n 行 m 列の予測子値の行列です。y が n 個の応答値のベクトルの場合、classregtree は回帰を実行します。y がカテゴリカル変数、文字配列、または文字列のセル配列の場合、classregtree は分類を実行します。どちらの場合も、t は二分木で、各枝分かれノードは X の列の値に基づいて分割されます。X または yNaN 値は欠損値として扱われます。X ですべてが欠損値である観測値、または y で欠損値のある観測値は近似には使用されません。X で一部に欠損値のある観測値は、観測値が有効な変数の分割点を見つけるために使用されます。

t = classregtree(X,y,'Name',value) は、1 つまたは複数の名前と値のペアをオプションで指定します。Name は単一引用符で囲んで指定します。以下のオプションを使用できます。

すべてのツリーに対して、以下のようになります。

  • categorical — 順番付けされていないカテゴリカル変数として扱われる X の列のインデックスのベクトル

  • method'classification' (y がテキストまたはカテゴリカル変数の場合の既定値)、または 'regression' (y が数値の場合の既定値)

  • names — ツリーが作成された X に現れる順序での、予測子変数用の名前のセル配列

  • prune'on' (既定の設定) の場合、完全木と枝刈りした部分木の最適シーケンスを計算します。'off' の場合、枝刈りせずに完全木を計算します。

  • minparent — 番号 k は観測値の最低数で、不純ノードは k 個以上の観測値をもたないと分割されません (既定値は 10)。

  • minleaf — ツリーのリーフ 1 つあたりの最低観測数 (既定値は 1)。'minparent''minleaf' 両方を与えた場合、classregtree はリーフの数が大きくなる方の設定を使用します。 minparent = max(minparent,2*minleaf)

  • mergeleaves'on' (既定の設定) の場合、同じ親ノードから派生したリーフをマージし、その親ノードに関連するリスク以上のリスク値の総和を与えます。'off' の場合、classregtree はリーフをマージしません。

  • nvartosample — 各分割用に無作為に選択された予測子変数の数。既定の設定では、すべての変数は決定分割ごとに考慮されます。

  • stream — 乱数ストリーム。既定の設定では、MATLAB 既定乱数ストリームです。

  • surrogate'on' の場合、各分岐ノードで代わりの分割を探します。既定の設定は 'off' です。このパラメーターを 'on' に設定すると、classregtree の実行がより低速になるとともに、メモリの消費量が大幅に増加します。

  • weights — 観測値の重みベクトル。既定の設定では、それぞれの観測値の重みは 1 です。このベクトルの長さは X の行数に等しくなければなりません。

回帰木のみに対して、次のようになります。

  • qetoler — 回帰木の 1 ノードあたりの 2 次誤差の許容誤差を定義します。2 次誤差が qetoler*qed より小さくなるとノード分割を停止します。ここで qed は決定木が成長する前に計算された全データの 2 次誤差です。qed = norm(y-ybar) で、ybar は入力配列 Y の平均として推定した値です。既定値は 1e-6 です。

分類木のみに対して、次のようになります。

  • cost — 正方行列 CC(i,j) は、真のクラスが i の場合にポイントをクラス j に分類するコスト (既定の設定では、i~=j の場合 C(i,j)=1i=j の場合 C(i,j)=0)。または、この値は次の 2 つのフィールドをもつ構造体 S になります。カテゴリカル変数、文字配列、または文字列のセル配列を含む S.group とコスト行列 C を含む S.cost です。

  • splitcriterion — 分割を選択する規準。'gdi' (既定の設定) つまりジニ多様性指数、Twoing 規則の'twoing'、または最大逸脱度減少量 'deviance' のいずれか。

  • priorprob — 文字列 ('empirical' または 'equal') として、ベクトルとして (異なるグループ名ごとに値 1 つ)、または 2 つのフィールドをもつ構造体 S として、指定される各クラスの前の確率。

    • グループ名を、カテゴリカル変数、文字配列、または文字列のセル配列として含む S.group

    • 対応する確率のベクトルを含む S.prob

    入力値が 'empirical' (既定の設定) の場合、クラス確率は Y のクラス頻度により決定されます。入力値が 'equal' の場合、すべてのクラス確率は等しく設定されます。観測値の重みとクラスの前の確率の両方が設定された場合は、重みは再正規化され、それぞれのクラスの前の確率値に加算されます。

フィッシャーのアヤメのデータに関する分類木を作成します。

load fisheriris;

t = classregtree(meas,species,...
                 'names',{'SL' 'SW' 'PL' 'PW'})
t = 
Decision tree for classification
1  if PL<2.45 then node 2 elseif PL>=2.45 then node 3 else setosa
2  class = setosa
3  if PW<1.75 then node 4 elseif PW>=1.75 then node 5 else versicolor
4  if PL<4.95 then node 6 elseif PL>=4.95 then node 7 else versicolor
5  class = virginica
6  if PW<1.65 then node 8 elseif PW>=1.65 then node 9 else versicolor
7  class = virginica
8  class = versicolor
9  class = virginica

view(t)

参照

[1] Breiman, L., J. Friedman, R. Olshen, and C. Stone. Classification and Regression Trees. Boca Raton, FL: CRC Press, 1984.

参考

| | |

操作のヒント

この情報は役に立ちましたか?