Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

prune

クラス: ClassificationTree

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

構文

tree1 = prune(tree)
tree1 = prune(tree,Name,Value)

説明

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

tree1 = prune(tree,Name,Value) は、1 つの Name,Value ペア引数で指定した追加オプションを使用して、枝刈りしたツリーを作成します。Name1,Value1,…,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順番で指定できます。

入力引数

tree

fitctree で作成された分類木。

名前と値の引数

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

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

Alpha

数値スカラー。prune prunes tree は、指定された枝刈りコストの値まで枝刈りします。

Level

0 (枝刈りなし) からこの木の最大枝刈りレベル max(tree.PruneList) までの数値スカラー。prune は、このレベルまで枝刈りされた木を返します。

Nodes

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

出力引数

tree1

分類木。

すべて展開する

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

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

{"String":"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.","Tex":[],"LaTex":[]}

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

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

{"String":"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.","Tex":[],"LaTex":[]}

ヒント

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

拡張機能

参考