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

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

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

ClassificationTree.template

クラス: ClassificationTree

分類テンプレートの作成

構文

t = ClassificationTree.template
t = ClassificationTree.template(Name,Value)

説明

t = ClassificationTree.template は、関数 fitensemble で使用するのに適した学習器テンプレートを返します。

t = ClassificationTree.template(Name,Value) では、1 つ以上の Name,Value の引数ペアで指定された追加オプションを使用して、テンプレートを作成します。Name1,Value1,…,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

名前/値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。ここで、Name は引数名で、Value は対応する値です。Name は単一引用符 (' ') で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペア引数を任意の順番で指定できます。

'AlgorithmForCategorical'

K = 3 以上のクラスを含むデータのカテゴリカル予測子で最適な分割を見つけるアルゴリズム。使用できるアルゴリズムは以下のとおりです。

'Exact'C カテゴリを使用するカテゴリカル予測子の場合、すべての 2C — 1 — 1 とおりの組み合わせを検討してください。
'PullLeft'右枝にあるすべての C カテゴリから開始します。残りのカテゴリにおいて K クラスの最小不純度を実現するように、各カテゴリを左枝に移動することを検討してください。このシーケンスとは関係なく、最小の不純度をもつ分割を選択してください。
'PCA'(中心となるクラス確率行列の) 重み付け共分散行列の最初の主成分とそのカテゴリに対するクラス確率のベクトル間の内積を使用して、各カテゴリのスコアを計算します。スコアを昇順に並べ替え、すべての C — 1 分割 [1] を検討します。
'OVAbyClass'右枝にあるすべての C カテゴリから開始します。クラスごとに、そのクラスの確率に基づいてカテゴリの順序を設定します。最初のクラスでは、各カテゴリを左枝に順番に移動し、各移動の不純度基準を記録します。残りのクラスに対して同じ作業を繰り返します。このシーケンスとは関係なく、最小の不純度をもつ分割を選択してください。

既定値: ClassificationTree では、既知のクラスの数とカテゴリカル予測子のレベルを使用して分割ごとに最適なアルゴリズムのサブセットを選択します。2 つのクラスの場合、ClassificationTree では常に完全一致検索が実行されます。

'MaxCat'

ClassificationTree は、予測子が分割ノードで最大 MaxCat レベルである場合、完全一致検索アルゴリズムを使用してカテゴリカル予測子を分割します。それ以外の場合、ClassificationTree はあいまいアルゴリズムのいずれかを使用して最適なカテゴリカル分割を見つけます。

MaxCat を数値の非負のスカラー値として指定します。小さい値を渡すと、計算時間が長くなり、メモリオーバーロードが発生する可能性があります。

既定値: 10

'MergeLeaves'

ツリーが成長した後にリーフをマージするかどうかを指定する文字列。値は 'on' または 'off' です。

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

既定値: 'off'

'MinLeaf'

各リーフには少なくともツリー リーフあたり MinLeaf の観測値があります。MinParentMinLeaf 両方を指定する場合は、ClassificationTree ではリーフ数が多くなる方の設定を使用します。 MinParent=max(MinParent,2*MinLeaf).

既定値: ブースティングの場合は学習観測数の 1/2、バギングの場合は 1

'MinParent'

ツリーの各分岐ノードには少なくとも MinParent の観測値があります。MinParentMinLeaf 両方を指定する場合は、ClassificationTree ではリーフ数が多くなる方の設定を使用します。 MinParent=max(MinParent,2*MinLeaf).

既定値: ブースティングの場合は学習観測数、バギングの場合は 2

'NVarToSample'

各決定分割で無作為に選択する予測子の個数。正の整数値、またはすべての利用可能な予測子を使用する 'all' のいずれかを指定できます。

既定値: ブースティングの場合は 'all'、バギングの場合は予測子の数の平方根。

'Prune'

'on' のときは、ClassificationTree は分類木を生成し、枝刈りされるサブツリーの最適なシーケンスを計算します。'off' のときは、ClassificationTree は枝刈りをせずに木を生成します。

既定値: 'off'

'PruneCriterion'

枝刈り基準を含む文字列で、'error' または 'impurity' のどちらかになります。

既定値: 'error'

'SplitCriterion'

分割を選択する規準。'gdi' (ジニ多様性指数) の1 つ、Twoing 規則の 'twoing'、または、最大逸脱度減少量 (クロス エントロピーともいう) の 'deviance' のいずれか。

既定値: 'gdi'

'Surrogate'

各枝ノードでサロゲート決定分割を検索するかどうかを記述する文字列。'on''off''all' または正のスカラー値として指定します。

  • 'on' のときは、ClassificationTree は各分岐ノードで最大 10 のサロゲート分割を探します。

  • 正の整数値に設定すると、ClassificationTree は各分岐ノードで最大指定された数のサロゲート分割を探します。

  • 'all' に設定すると、ClassificationTree は各分岐ノードですべてのサロゲート分割を探します。'all' に設定すると、処理時間およびメモリ使用量が増加する可能性があります。

サロゲート分割を使用すると、欠損値をもつデータの予測精度が改善されます。また、予測子同士の関連付けの予測測定も計算できます。

既定値: 'off'

出力引数

t

関数 fitensemble で使用するのに適した分類テンプレート。集団では、t で分類木の成長方法を指定します。

サロゲート分割を使用して分類テンプレートを作成し、このテンプレートを使用してフィッシャーのアヤメのモデルの集団を学習します。

t = ClassificationTree.template('surrogate','on');
load fisheriris
ens = fitensemble(meas,species,'AdaBoostM2',100,t);

参照

[1] Coppersmith, D., S. J. Hong, and J. R. M. Hosking. “Partitioning Nominal Attributes in Decision Trees.” Data Mining and Knowledge Discovery, Vol. 3, 1999, pp. 197–217.

参考

| |

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