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

ライブラリ:
Statistics and Machine Learning Toolbox /
Classification
説明
ClassificationTree Predict ブロックは、マルチクラス分類について、分類木オブジェクト (ClassificationTree
または CompactClassificationTree
) を使用して、観測値を分類します。
オブジェクトを含むワークスペース変数の名前を指定することにより、学習済みの分類オブジェクトをブロックにインポートします。入力端子 [x] では観測値 (予測子データ) を受信し、出力端子 [label] では観測値の予測クラス ラベルを返します。オプションの出力端子 [score] を追加すると、予測クラス スコアまたは事後確率が返されます。
端子
入力
x — 予測子データ
行ベクトル | 列ベクトル
予測子データ。1 つの観測値の行ベクトルまたは列ベクトルとして指定します。
依存関係
[x] の変数の順序は、[Select trained machine learning model
] で指定されたモデルで学習済みの、予測子変数の順序と同じでなければなりません。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
出力
score — 予測クラス スコアまたは事後確率
行ベクトル
予測クラス スコアまたは事後確率。サイズが 1 行 k 列の行ベクトルとして返されます。ここで、k は木モデル内のクラスの数です。
葉ノードの分類スコアは、そのノードでの分類の事後確率です。あるノードにおける分類の事後確率とは、分類によって実際にそのノードに達するのに要した学習観測値の数を、そのノードまでの学習観測値の数で除算した値です。
クラスの順序を確認するには、[Select trained machine learning model
] で指定された木モデルの ClassNames
プロパティを使用します。
依存関係
この端子を有効にするには、[ブロック パラメーター] ダイアログ ボックスの [メイン] タブで [Add output port for predicted class scores
] のチェック ボックスをオンにします。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
パラメーター
メイン
学習済みの機械学習モデルの選択 — 分類木モデル
treeMdl
(既定値) | ClassificationTree
オブジェクト | CompactClassificationTree
オブジェクト
ClassificationTree
オブジェクトまたは CompactClassificationTree
オブジェクトを含むワークスペース変数の名前を指定します。
fitctree
を使用してモデルに学習させる場合、以下の制限が適用されます。
予測子データにカテゴリカル予測子 (
logical
、categorical
、char
、string
、またはcell
) を含めることはできません。学習データをテーブルで渡す場合、予測子は数値 (double
またはsingle
) でなければなりません。また、名前と値の引数CategoricalPredictors
は使用できません。カテゴリカル予測子をモデルに含めるには、モデルを当てはめる前にdummyvar
を使用してカテゴリカル予測子を前処理します。名前と値の引数
'ScoreTransform'
の値を'invlogit'
や無名関数にすることはできません。代理分岐は使用できません。つまり、名前と値の引数
'Surrogate'
の値は'off'
(既定の設定) でなければなりません。
プログラムでの使用
ブロック パラメーター: TrainedLearner |
型: ワークスペース変数 |
値: ClassificationTree オブジェクト | CompactClassificationTree オブジェクト |
既定の設定: 'treeMdl' |
Add output port for predicted class scores — 予測クラス スコアに 2 番目の出力端子を追加する
off
(既定値) | on
チェック ボックスをオンにすると、ClassificationTree Predict ブロックに 2 番目の出力端子 [score] が追加されます。
プログラムでの使用
ブロック パラメーター: ShowOutputScore |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
データ型
固定小数点が使用可能なパラメーター整数丸めモード — 固定小数点演算の丸めモード
Floor
(既定値) | Ceiling
| Convergent
| Nearest
| Round
| Simplest
| Zero
固定小数点演算の丸めモードを指定します。詳細は、丸め (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に、最も近い表現可能な値に丸められます。ブロック パラメーターの丸めを制御するには、マスク フィールドに MATLAB® の丸め関数を使用して式を入力します。
プログラムでの使用
ブロック パラメーター: RndMeth |
型: 文字ベクトル |
値: 'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | 'Simplest' | 'Zero' |
既定の設定: 'Floor' |
整数オーバーフローで飽和 — オーバーフロー アクションのメソッド
off
(既定値) | on
オーバーフローの際に飽和するか折り返すかを指定します。
アクション | 理由 | オーバーフローの際の影響 | 例 |
---|---|---|---|
このチェック ボックスをオンにする ( | モデルにオーバーフローの可能性があり、生成されたコードで明示的な飽和保護が必要である。 | オーバーフローの際は、データ型が表現できる最小値または最大値に飽和します。 | データ型 |
このチェック ボックスをオフにする ( | 生成されたコードの効率を最適化したい。 ブロックが範囲外の信号を処理する方法を過剰指定したくない。詳細は、信号範囲のエラーのトラブルシューティング (Simulink)を参照してください。 | オーバーフローの際は、データ型が表現できる適切な値で折り返します。 | データ型 |
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
固定小数点ツールによる変更に対して出力データ型の設定をロックする — 固定小数点ツールによるデータ型のオーバーライドの防止
off
(既定値) | on
このパラメーターを選択して、ブロックに指定したデータ型を固定小数点ツールがオーバーライドしないようにします。詳細は、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
Label data type — [label] 出力のデータ型
Inherit: Inherit via back propagation
| Inherit: auto
| double
| single
| half
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| boolean
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| Enum: <クラス名>
| <データ型式>
[label] 出力のデータ型を指定します。型は継承するか、列挙データ型として指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現できます。
継承オプションを選択すると、ソフトウェアは以下のように動作します。
Inherit: Inherit via back propagation
(数値ラベルと logical ラベルの場合の既定値) — Simulink は、データ型の伝播時にブロックの [Label data type] を自動的に決定します (データ型の伝播 (Simulink)を参照)。この場合、ブロックは下流ブロックまたは信号オブジェクトのデータ型を使用します。Inherit: auto
(非数値ラベルの場合の既定値) — ブロックは自動定義された列挙データ型変数を使用します。たとえば、Select trained machine learning model
で指定されたワークスペース変数名がmyMdl
で、クラス ラベルがclass 1
およびclass 2
であるとします。この場合、対応する [label] の値はmyMdl_enumLabels.class_1
およびmyMdl_enumLabels.class_2
になります。ブロックは、関数matlab.lang.makeValidName
を使用して、クラス ラベルを有効な MATLAB 識別子に変換します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
依存関係
サポートされるデータ型は、[Select trained machine learning model
] で指定されたモデルで使用されるラベルによって異なります。
モデルで数値ラベルまたは logical ラベルが使用される場合、サポートされるデータ型は [
Inherit: Inherit via back propagation
] (既定)、double
、single
、half
、int8
、uint8
、int16
、uint16
、int32
、uint32
、int64
、uint64
、boolean
、固定小数点およびデータ型オブジェクトです。モデルで非数値ラベルが使用される場合、サポートされるデータ型は [
Inherit: auto
] (既定)、Enum: <class name>
およびデータ型オブジェクトです。
プログラムでの使用
ブロック パラメーター: LabelDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: Inherit via back propagation' | 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | '<data type expression>' |
既定の設定: 'Inherit: Inherit via back propagation' (数値ラベルと logical ラベルの場合) | 'Inherit: auto' (非数値ラベルの場合) |
Label minimum — 範囲チェックの [label] 出力の最小値
[]
(既定値) | スカラー
Simulink がチェックする [label] 出力範囲の下限値。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Label minimum] パラメーターが、[label] の実際の出力信号を飽和させたり、クリップしたりすることはありません。代わりに、Saturation (Simulink) ブロックを使用してください。
依存関係
このパラメーターを指定できるのは、[Select trained machine learning model
] で指定されたモデルで数値ラベルが使用される場合だけです。
プログラムでの使用
ブロック パラメーター: LabelOutMin |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Label maximum — 範囲チェックの [label] 出力の最大値
[]
(既定値) | スカラー
Simulink がチェックする [label] 出力範囲の上限値。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Label maximum] パラメーターが、[label] の実際の出力信号を飽和させたり、クリップしたりすることはありません。代わりに、Saturation (Simulink) ブロックを使用してください。
依存関係
このパラメーターを指定できるのは、[Select trained machine learning model
] で指定されたモデルで数値ラベルが使用される場合だけです。
プログラムでの使用
ブロック パラメーター: LabelOutMax |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Score data type — [score] 出力のデータ型
Inherit: auto
(既定値) | double
| single
| half
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| boolean
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <データ型式>
[score] 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto]
を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: ScoreDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: auto' |
Score minimum — 範囲チェックの [score] 出力の最小値
[]
(既定値) | スカラー
Simulink がチェックする [score] 出力範囲の下限値。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Score minimum] パラメーターが、[score] の実際の信号を飽和させたり、クリップしたりすることはありません。代わりに、Saturation (Simulink) ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: ScoreOutMin |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Score maximum — 範囲チェックの [score] 出力の最大値
[]
(既定値) | スカラー
Simulink がチェックする [score] 出力範囲の上限値。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Score maximum] パラメーターが、[score] の実際の信号を飽和させたり、クリップしたりすることはありません。代わりに、Saturation (Simulink) ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: ScoreOutMax |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Raw score data type — 未変換スコアのデータ型
Inherit: auto
(既定値) | double
| single
| half
| int8
| uint8
| int16
| uint16
| int32
| uint32
| int64
| uint64
| boolean
| fixdt(1,16)
| fixdt(1,16,0)
| fixdt(1,16,2^0,0)
| <データ型式>
内部の未変換スコアのデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto]
を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
依存関係
このパラメーターを指定できるのは、[Select trained machine learning model
] で指定されたモデルで 'none'
(既定の設定で、'identity'
と同じ) 以外のスコア変換が使用される場合だけです。
モデルでスコア変換が使用されない (
'none'
または'identity'
) 場合は、[Score data type
] を使用してスコアのデータ型を指定できます。モデルで
'none'
または'identity'
以外のスコア変換が使用される場合は、このパラメーターを使用して未変換の生スコアのデータ型を指定し、[Score data type
] を使用して変換したスコアのデータ型を指定できます。
スコア変換オプションを変更するには、学習時に名前と値の引数 'ScoreTransform'
を指定するか、学習後に ScoreTransform
プロパティを変更します。
プログラムでの使用
ブロック パラメーター: RawScoreDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16)' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: auto' |
Raw score minimum — 範囲チェックの未変換スコアの最小値
[]
(既定値) | スカラー
Simulink がチェックする未変換スコア範囲の下限値。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Raw score minimum] パラメーターが、未変換スコアの実際の信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: RawScoreOutMin |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Raw score maximum — 範囲チェックの未変換スコアの最大値
[]
(既定値) | スカラー
Simulink がチェックする未変換スコア範囲の上限値。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
固定小数点データ型の自動スケーリング。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[Raw score maximum] パラメーターが、未変換スコアの実際の信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: RawScoreOutMax |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
代替機能
MATLAB Function ブロックを分類木オブジェクト (ClassificationTree
または CompactClassificationTree
) のオブジェクト関数 predict
と共に使用できます。たとえば、MATLAB Function ブロックの使用によるクラス ラベルの予測を参照してください。
Statistics and Machine Learning Toolbox™ ライブラリ内の ClassificationTree Predict ブロックを使用するかどうか、または MATLAB Function ブロックを関数 predict
と共に使用するかどうかを判断する際には、以下を考慮してください。
Statistics and Machine Learning Toolbox ライブラリ ブロックを使用する場合、固定小数点ツール (Fixed-Point Designer)を使用して浮動小数点モデルを固定小数点に変換できます。
MATLAB Function ブロックを関数
predict
と共に使用する場合は、可変サイズの配列に対するサポートを有効にしなければなりません。MATLAB Function ブロックを使用する場合、予測の前処理や後処理のために、同じ MATLAB Function ブロック内で MATLAB 関数を使用することができます。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2021a で導入
参考
ブロック
- ClassificationSVM Predict | ClassificationEnsemble Predict | ClassificationNeuralNetwork Predict | RegressionTree Predict
オブジェクト
関数
トピック
- ClassificationSVM Predict ブロックの使用によるクラス ラベルの予測
- ClassificationEnsemble Predict ブロックの使用によるクラス ラベルの予測
- ClassificationNeuralNetwork Predict ブロックの使用によるクラス ラベルの予測
- MATLAB Function ブロックの使用によるクラス ラベルの予測
- Identify Punch and Flex Hand Gestures Using Machine Learning Algorithm on Arduino Hardware (Simulink Support Package for Arduino Hardware)
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)