ドキュメンテーション

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

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 で作成された分類木。

名前と値のペアの引数

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

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

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

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

ヒント

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

参考