Main Content

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');

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

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

入力引数

すべて折りたたむ

分類木モデル。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 で導入