このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
ClassificationEnsemble Predict

ライブラリ:
Statistics and Machine Learning Toolbox /
Classification
説明
ClassificationEnsemble Predict ブロックは、マルチクラス分類用の決定木のアンサンブル (ClassificationEnsemble
、ClassificationBaggedEnsemble
、または CompactClassificationEnsemble
) を使用して観測値を分類します。
オブジェクトを含むワークスペース変数の名前を指定することにより、学習済みの分類オブジェクトをブロックにインポートします。入力端子 x では観測値 (予測子データ) を受信し、出力端子 label では観測値の予測クラス ラベルを返します。オプションの出力端子 score を追加すると、予測クラス スコアまたは事後確率が返されます。
例
ClassificationEnsemble Predict ブロックの使用によるクラス ラベルの予測
最適なハイパーパラメーターでアンサンブル分類モデルの学習を行い、ClassificationEnsemble Predict ブロックをラベル予測に使用する。
端子
入力
予測子データ。1 つの観測値の行ベクトルまたは列ベクトルとして指定します。
x の変数の順序は、[学習済み機械学習モデルを選択] で指定されたモデルに学習させた予測子変数の順序と同じでなければなりません。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
出力
予測クラス ラベル。スカラーとして返されます。スコアが最大になるクラスが予測クラスになります。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
| enumerated
予測クラス スコアまたは事後確率。サイズが 1 行 k 列の行ベクトルとして返されます。ここで、k はアンサンブル モデル内のクラスの数です。
クラスの順序を確認するには、[学習済み機械学習モデルを選択] で指定されたアンサンブル モデルの ClassNames
プロパティを使用します。
依存関係
この端子を有効にするには、[ブロック パラメーター] ダイアログ ボックスの [メイン] タブで [予測済みクラス スコア用の出力端子を追加] のチェック ボックスをオンにします。
分類スコアの値の定義と範囲はアンサンブル集約法によって異なります。アンサンブル集約法は、アンサンブル モデルに学習させるときに
fitcensemble
の名前と値の引数Method
を使用して指定できます。詳細については、関数predict
のリファレンス ページの詳細節を参照してください。
データ型: single
| double
| half
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| Boolean
| fixed point
パラメーター
メイン
ClassificationEnsemble
オブジェクト、ClassificationBaggedEnsemble
オブジェクト、または CompactClassificationEnsemble
オブジェクトを含むワークスペース変数の名前を指定します。
fitcensemble
を使用してモデルに学習させる場合、次の制限が適用されます。
木弱学習器を使用してアンサンブルに学習させなければなりません。
予測子データにカテゴリカル予測子 (
logical
、categorical
、char
、string
、またはcell
) を含めることはできません。学習データを table で渡す場合、予測子は数値 (double
またはsingle
) でなければなりません。また、名前と値の引数CategoricalPredictors
は使用できません。カテゴリカル予測子をモデルに含めるには、モデルを当てはめる前にdummyvar
を使用してカテゴリカル予測子を前処理します。名前と値の引数
ScoreTransform
の値を'invlogit'
や無名関数にすることはできません。木弱学習器に代理分岐は使用できません。つまり、関数
templateTree
を使用して木弱学習器を定義する場合、名前と値の引数Surrogate
の値は'off'
(既定の設定) でなければなりません。
プログラムでの使用
ブロック パラメーター: TrainedLearner |
型: ワークスペース変数 |
値: ClassificationEnsemble オブジェクト | ClassificationBaggedEnsemble オブジェクト | CompactClassificationEnsemble オブジェクト |
既定の設定: 'ensMdl' |
チェック ボックスをオンにすると、ClassificationEnsemble Predict ブロックに 2 番目の出力端子 score が追加されます。
プログラムでの使用
ブロック パラメーター: ShowOutputScore |
型: 文字ベクトル |
値: 'off' | 'on' |
既定の設定: 'off' |
データ型
固定小数点が使用可能なパラメーター
固定小数点演算の丸めモードを指定します。詳細は、丸めモード (Fixed-Point Designer)を参照してください。
ブロック パラメーターは常に、最も近い表現可能な値に丸められます。ブロック パラメーターの丸めを制御するには、マスク フィールドに MATLAB® の丸め関数を使用して式を入力します。
プログラムでの使用
ブロック パラメーター: RndMeth |
型: 文字ベクトル |
値: "Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero" |
既定の設定: "Floor" |
オーバーフローの際に飽和するか折り返すかを指定します。
アクション | 理由 | オーバーフローの際の影響 | 例 |
---|---|---|---|
このチェック ボックスをオンにする ( | モデルにオーバーフローの可能性があり、生成されたコードで明示的な飽和保護が必要である。 | オーバーフローの際は、データ型が表現できる最小値または最大値に飽和します。 | データ型 |
このチェック ボックスをオフにする ( | 生成されたコードの効率を最適化したい。 ブロックが範囲外の信号を処理する方法を過剰指定したくない。詳細は、信号範囲のエラーのトラブルシューティング (Simulink)を参照してください。 | オーバーフローの際は、データ型が表現できる適切な値で折り返します。 | データ型 |
プログラムでの使用
ブロック パラメーター: SaturateOnIntegerOverflow |
型: 文字ベクトル |
値: "off" | "on" |
既定の設定: "off" |
このパラメーターを選択して、ブロックに指定したデータ型を固定小数点ツールがオーバーライドしないようにします。詳細は、[出力データ型の設定をロックする] の使用 (Fixed-Point Designer)を参照してください。
プログラムでの使用
ブロック パラメーター: LockScale |
型: 文字ベクトル |
値: "off" | "on" |
既定の設定: "off" |
データ型
label 出力のデータ型を指定します。型は継承するか、列挙データ型として指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現できます。
サポートされるデータ型は、[学習済み機械学習モデルを選択] で指定されたモデルで使用されるラベルによって異なります。
モデルで数値ラベルまたは logical ラベルが使用される場合、サポートされるデータ型は [
Inherit: Inherit via back propagation
] (既定)、double
、single
、half
、int8
、uint8
、int16
、uint16
、int32
、uint32
、int64
、uint64
、boolean
、固定小数点およびデータ型オブジェクトです。モデルで非数値ラベルが使用される場合、サポートされるデータ型は [
Inherit: auto
] (既定)、Enum: <class name>
およびデータ型オブジェクトです。
継承オプションを選択すると、ソフトウェアは以下のように動作します。
Inherit: Inherit via back propagation
(数値ラベルと logical ラベルの場合の既定値) — Simulink® は、データ型の伝播時にブロックの [ラベルのデータ型] を自動的に決定します (データ型の伝播 (Simulink)を参照)。この場合、ブロックは下流ブロックまたは信号オブジェクトのデータ型を使用します。Inherit: auto
(非数値ラベルの場合の既定値) — ブロックは自動定義された列挙データ型変数を使用します。たとえば、[学習済み機械学習モデルを選択] で指定されたワークスペース変数名がmyMdl
で、クラス ラベルがclass 1
およびclass 2
であるとします。この場合、対応する label の値はmyMdl_enumLabels.class_1
およびmyMdl_enumLabels.class_2
になります。ブロックは、関数matlab.lang.makeValidName
を使用して、クラス ラベルを有効な MATLAB 識別子に変換します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: LabelDataTypeStr |
型: 文字ベクトルまたは string |
値: "Inherit: Inherit via back propagation" | "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "Enum: <class name>" | "<data type expression>" |
既定の設定: "Inherit: Inherit via back propagation" (数値ラベルと logical ラベルの場合) | "Inherit: auto" (非数値ラベルの場合) |
Simulink がチェックする label 出力範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[ラベルのデータ型、最小値] パラメーターが、label の実際の出力信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。
依存関係
このパラメーターを指定できるのは、[学習済み機械学習モデルを選択] で指定されたモデルで数値ラベルが使用される場合だけです。
プログラムでの使用
ブロック パラメーター: LabelOutMin |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
Simulink がチェックする label 出力範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[ラベルのデータ型、最大値] パラメーターが、label の実際の出力信号を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。
依存関係
このパラメーターを指定できるのは、[学習済み機械学習モデルを選択] で指定されたモデルで数値ラベルが使用される場合だけです。
プログラムでの使用
ブロック パラメーター: LabelOutMax |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
score 出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto]
を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: ScoreDataTypeStr |
型: 文字ベクトルまたは string |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto" |
Simulink がチェックする score 出力範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[スコアのデータ型、最小値] パラメーターが、score の実際の出力を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: ScoreOutMin |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
Simulink がチェックする score 出力範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[スコアのデータ型、最大値] パラメーターが、score の実際の出力を飽和させたり、クリップしたりすることはありません。これを行うには、代わりに Saturation (Simulink) ブロックを使用してください。
プログラムでの使用
ブロック パラメーター: ScoreOutMax |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
内部の未変換スコアのデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto]
を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
依存関係
このパラメーターを指定できるのは、[学習済み機械学習モデルを選択] で指定されたモデルで "none"
(既定の設定で、"identity"
と同じ) 以外のスコア変換が使用される場合だけです。
モデルでスコア変換が使用されない (
"none"
または"identity"
) 場合は、[スコアのデータ型] を使用してスコアのデータ型を指定できます。モデルで
"none"
または"identity"
以外のスコア変換が使用される場合は、このパラメーターを使用して未変換の生スコアのデータ型を指定できます。変換されたスコアのデータ型を指定するには、[スコアのデータ型] を使用します。
スコア変換オプションを変更するには、学習時に名前と値の引数 ScoreTransform
を指定するか、学習後に ScoreTransform
プロパティを変更します。
プログラムでの使用
ブロック パラメーター: RawScoreDataTypeStr |
型: 文字ベクトル |
値: "Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>" |
既定の設定: "Inherit: auto" |
Simulink がチェックする未変換スコア範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[生スコアのデータ型、最小値] パラメーターが、未変換スコアの実際の信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: RawScoreOutMin |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
Simulink がチェックする未変換スコア範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
[生スコアのデータ型、最大値] パラメーターが、未変換スコアの実際の信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: RawScoreOutMax |
型: 文字ベクトル |
値: "[]" | スカラー |
既定の設定: "[]" |
弱学習器からの出力のデータ型を指定します。データ型は継承するか、直接指定するか、Simulink.NumericType
のようにデータ型オブジェクトとして表現することができます。
[Inherit: auto]
を選択すると、ブロックはデータ型を継承するルールを使用します。
データ型の詳細については、信号のデータ型の制御 (Simulink)を参照してください。
[データ型アシスタントを表示] ボタン をクリックすると、[データ型アシスタント] が表示されます。これは、データ型の属性を設定する際に役立ちます。詳細は、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
プログラムでの使用
ブロック パラメーター: WeakLearnerDataTypeStr |
型: 文字ベクトル |
値: 'Inherit: auto' | 'double' | 'single' | 'half' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'int64' | 'uint64' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | '<data type expression>' |
既定の設定: 'Inherit: auto' |
Simulink がチェックする弱学習器出力範囲の下限値を指定します。
Simulink は以下を実行するために最小値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、ソフトウェアインザループ (SIL) モードやエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[弱い学習器のデータ型、最小値] パラメーターが、弱学習器の実際の出力信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: WeakLearnerOutMin |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
Simulink がチェックする弱学習器出力範囲の上限値を指定します。
Simulink は以下を実行するために最大値を使用します。
一部のブロックを対象としたパラメーター範囲のチェック (ブロック パラメーターの最小値と最大値の指定 (Simulink)を参照)。
シミュレーション範囲のチェック (信号範囲の指定 (Simulink)およびシミュレーション範囲のチェックの有効化 (Simulink)を参照)。
モデルから生成するコードの最適化。この最適化により、アルゴリズム コードが削除され、SIL やエクスターナル モードなど、一部のシミュレーション モードの結果に影響を与える可能性があります。詳細は、Optimize using the specified minimum and maximum values (Embedded Coder)を参照してください。
メモ
[弱い学習器のデータ型、最大値] パラメーターが、弱学習器の実際の出力信号を飽和させたり、クリップしたりすることはありません。
プログラムでの使用
ブロック パラメーター: WeakLearnerOutMax |
型: 文字ベクトル |
値: '[]' | スカラー |
既定の設定: '[]' |
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
内部モデル パラメーターのデータ型は、有効になっている score
出力端子のデータ型と同期されます。score
出力端子が有効になっていない場合、モデル パラメーターのデータ型は他の内部データ型と同期されます。
代替機能
MATLAB Function ブロックを決定木のアンサンブル (ClassificationEnsemble
、ClassificationBaggedEnsemble
、または CompactClassificationEnsemble
) のオブジェクト関数 predict
と共に使用できます。たとえば、MATLAB Function ブロックの使用によるクラス ラベルの予測を参照してください。
Statistics and Machine Learning Toolbox™ ライブラリ内の ClassificationEnsemble 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 で導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)