メインコンテンツ

prune

分類木の枝刈りによる分類部分木のシーケンスの生成

説明

tree1 = prune(tree) は、最適な枝刈り順序を含む分類木 tree のコピーを返します。

tree1 = prune(tree,Name=Value) では、1 つ以上の名前と値の引数を使用して追加オプションを指定します。たとえば、枝刈り条件を指定したり、葉ノードになる枝ノードを指定したりできます。

すべて折りたたむ

フィッシャーのアヤメのデータに関する完全な分類木を構築して表示します。

load fisheriris;
varnames = {'SL','SW','PL','PW'};
t1 = fitctree(meas,species,'MinParentSize',5,'PredictorNames',varnames);
view(t1,'Mode','graph');

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 21 objects of type line, text. One or more of the lines displays its values using only markers

最適な枝刈り順序から、次に大きいツリーを構築して表示します。

t2 = prune(t1,'Level',1);
view(t2,'Mode','graph');

Figure Classification tree viewer contains an axes object and other objects of type uimenu, uicontrol. The axes object contains 15 objects of type line, text. One or more of the lines displays its values using only markers

入力引数

すべて折りたたむ

分類木モデル。fitctree で学習させた ClassificationTree モデル オブジェクトとして指定します。

名前と値の引数

すべて折りたたむ

オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、名前と値をそれぞれコンマを使って区切り、Name を引用符で囲みます。

例: prune(tree,Level=3,Criterion="error") は、枝刈りレベルを 3、枝刈り条件を "error" に設定します。

枝刈り条件。"error" または "impurity" として指定します。

  • "error" を指定すると、ノードの再代入誤差にノードの確率を乗算した値が各ノードのコストになります。

  • "impurity" を指定すると、fitctreetree を作成するときに PruneCriterion="impurity"SplitCriterion="gdi" または SplitCriterion="deviance" を指定していれば、ノードの不純度にノードの確率を乗算した値が各ノードのコストになります。tree を作成するときに SplitCriterion="twoing" を指定している場合は "impurity" を指定できません。

.

例: Criterion="impurity"

データ型: char | string

枝刈りコスト。数値スカラーとして指定します。このオプションを指定すると、関数 prunetree を指定された枝刈りコストの値まで枝刈りします。

Alpha を指定する場合、LevelNodes は指定できません。

例: Alpha=2

データ型: single | double

枝刈りレベル。0 (枝刈りなし) から木の最大枝刈りレベル max(tree.PruneList) までの数値スカラーとして指定します。

Level を指定する場合、AlphaNodes は指定できません。

例: Level=3

データ型: single | double

葉ノードになる枝ノード。1 から tree.NumNodes までの要素をもつ数値ベクトルとして指定します。Nodes に列挙された tree 枝ノードは、親ノードも枝刈りしない限り、すべて tree1 の葉ノードになります。

Nodes を指定する場合、AlphaLevel は指定できません。

例: Nodes=4

データ型: single | double

出力引数

すべて折りたたむ

tree の更新されたバージョン。ClassificationTree モデル オブジェクトとして返されます。

prune にいずれかの名前と値の引数を指定する場合、tree1 は最適な枝刈り順序を使用して tree から作成される枝刈りした木になります。

prune にいずれの名前と値の引数も指定しない場合、tree1 は枝刈りしていない完全な tree になりますが、最適な枝刈り情報が追加されています。この情報は、tree を別の木を枝刈りして作成する場合や、関数 fitctreePrune="off",MergeLeaves="off" を指定して作成する場合に便利です。最適な枝刈り順序を使用して木を複数回枝刈りする場合は、fitctreetree を作成するときに Prune="on" を指定します。

拡張機能

すべて展開する

バージョン履歴

R2011a で導入