Main Content

prune

枝刈りによる分類サブツリーのシーケンスの作成

説明

tree1 = prune(tree) は、入力された最適な枝刈り順序を使用して、分類木 tree のコピーを作成します。

tree1 = prune(tree,Name,Value) は、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 を引用符で囲みます。

例: tree1 = prune(tree,'Level',1)

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

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

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

ヒント

tree1 = prune(tree) は決定木 tree1 を返します。これは完全で枝刈りされていない tree ですが、最適な枝刈り情報が追加されています。これが有益なのは、別のツリーを枝刈りして tree を作成したか、または枝刈りを 'off' に設定して関数 fitctree を使用した場合だけです。最適な枝刈りをした列に沿ってツリーを複数回枝刈りする場合は、まず最適な枝刈りをした列を作成する方が効率的です。

拡張機能

バージョン履歴

R2011a で導入

参考