generateCode
コーダー コンフィギュアラーの使用による C/C++ コードの生成
説明
機械学習モデルに学習をさせた後で、learnerCoderConfigurer
を使用してモデルのコーダー コンフィギュアラーを作成します。コンフィギュアラーのプロパティを変更して、コード生成オプションを指定します。その後、generateCode
を使用して、機械学習モデルの関数 predict
および update
に対する C/C++ コードを生成します。C/C++ コードの生成には MATLAB® Coder™ が必要です。
次のフロー チャートは、コーダー コンフィギュアラーを使用するコード生成のワークフローを示します。強調表示されているステップで generateCode
を使用します。
generateCode(
は、configurer
)configurer
を使用して、機械学習モデルの関数 predict
および update
に対する MEX (MATLAB 実行可能ファイル) 関数を生成します。生成された MEX 関数の名前は outputFileName
になります。これは、configurer
の OutputFileName
プロパティに格納されているファイル名です。
generateCode
は、MEX 関数を生成するため、コードの生成に必要な以下の MATLAB ファイルを生成し、これらを現在のフォルダーに保存します。
predict.m
、update.m
およびinitialize.m
—predict.m
とupdate.m
はそれぞれ、機械学習モデルの関数predict
およびupdate
のエントリポイント関数です。この 2 つの関数でinitialize.m
を呼び出します。機械学習モデルの情報が格納されている MAT ファイル —
generateCode
は、関数saveLearnerForCoder
を使用して、機械学習モデルの情報を MAT ファイルに保存します。このファイルの名前は、コーダー コンフィギュアラーのOutputFileName
プロパティに格納されます。initialize.m
は、関数loadLearnerForCoder
を使用して、保存された MAT ファイルを読み込みます。
generateCode
は、必要な MATLAB ファイルを生成した後で、MEX 関数およびそのコードを codegen\mex\
outputFileName
フォルダーに作成し、MEX 関数を現在のフォルダーにコピーします。
generateCode(
は、configurer
,cfg
)cfg
によって指定されたビルド タイプを使用して C/C++ コードを生成します。
generateCode(___,'OutputPath',
は、前の構文の入力引数に加えて、出力ファイルのフォルダー パスを指定します。outputPath
)generateCode
は、outputPath
によって指定されたフォルダーに MATLAB ファイルを生成し、outputPath
\codegen\type
\
outputFileName
フォルダーに C/C++ を生成します。type
は、cfg
によって指定されたビルド タイプです。
例
コーダー コンフィギュアラーの使用によるコードの生成
機械学習モデルに学習させてから、コーダー コンフィギュアラーを使用して、このモデルの関数 predict
および update
に対してコードを生成します。
carsmall
データ セットを読み込み、サポート ベクター マシン (SVM) 回帰モデルに学習をさせます。
load carsmall
X = [Horsepower,Weight];
Y = MPG;
Mdl = fitrsvm(X,Y);
Mdl
は、線形 SVM モデルであるRegressionSVM
オブジェクトです。線形 SVM モデルでは、新しい観測値の応答を予測するための十分な情報が予測子の係数によって提供されます。サポート ベクターを削除することで、生成コードのメモリ使用量が少なくなります。関数discardSupportVectors
を使用して線形 SVM モデルからサポート ベクターを削除します。
Mdl = discardSupportVectors(Mdl);
learnerCoderConfigurer
を使用して、RegressionSVM
モデルについてコーダー コンフィギュアラーを作成します。予測子データ X
を指定します。関数 learnerCoderConfigurer
は、入力 X
を使用して、関数 predict
の入力のコーダー属性を設定します。
configurer = learnerCoderConfigurer(Mdl,X)
Warning: Default response is removed to support learnerCoderConfigurer. The model will predict NaNs for observations with missing values.
configurer = RegressionSVMCoderConfigurer with properties: Update Inputs: Beta: [1x1 LearnerCoderInput] Scale: [1x1 LearnerCoderInput] Bias: [1x1 LearnerCoderInput] Predict Inputs: X: [1x1 LearnerCoderInput] Code Generation Parameters: NumOutputs: 1 OutputFileName: 'RegressionSVMModel'
configurer
は、RegressionSVM
オブジェクトのコーダー コンフィギュアラーである RegressionSVMCoderConfigurer
オブジェクトです。
C/C++ コードを生成するには、適切に設定されている C/C++ コンパイラにアクセスできなければなりません。MATLAB Coder は、サポートされているインストール済みのコンパイラを探して使用します。mex
-setup
を使用すると、既定のコンパイラを表示および変更できます。詳細は、既定のコンパイラの変更を参照してください。
既定の設定を使用して、SVM 回帰モデル (Mdl
) の関数 predict
および update
に対するコードを生成します。
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'RegressionSVMModel.mat' Code generation successful.
関数 generateCode
は、以下の処理を実行します。
コードを生成するために必要な MATLAB ファイルを生成する。これには、
Mdl
の関数predict
およびupdate
にそれぞれ対応する 2 つのエントリポイント関数predict.m
およびupdate.m
が含まれます。2 つのエントリポイント関数に対して、
RegressionSVMModel
という名前の MEX 関数を作成する。MEX 関数のコードを
codegen\mex\RegressionSVMModel
フォルダーに作成する。MEX 関数を現在のフォルダーにコピーする。
関数type
を使用して、predict.m
、update.m
および initialize.m
ファイルの内容を表示します。
type predict.m
function varargout = predict(X,varargin) %#codegen % Autogenerated by MATLAB, 20-Jul-2024 17:19:44 [varargout{1:nargout}] = initialize('predict',X,varargin{:}); end
type update.m
function update(varargin) %#codegen % Autogenerated by MATLAB, 20-Jul-2024 17:19:44 initialize('update',varargin{:}); end
type initialize.m
function [varargout] = initialize(command,varargin) %#codegen % Autogenerated by MATLAB, 20-Jul-2024 17:19:44 coder.inline('always') persistent model if isempty(model) model = loadLearnerForCoder('RegressionSVMModel.mat'); end switch(command) case 'update' % Update struct fields: Beta % Scale % Bias model = update(model,varargin{:}); case 'predict' % Predict Inputs: X X = varargin{1}; if nargin == 2 [varargout{1:nargout}] = predict(model,X); else PVPairs = cell(1,nargin-2); for i = 1:nargin-2 PVPairs{1,i} = varargin{i+1}; end [varargout{1:nargout}] = predict(model,X,PVPairs{:}); end end end
ビルド タイプの指定
機械学習モデルに学習をさせ、学習済みモデルのコーダー コンフィギュアラーを使用してコードを生成します。コードを生成するときに、コード生成構成オブジェクトを使用して、ビルド タイプおよび他の構成オプションを指定します。
ionosphere
データ セットを読み込みます。
load ionosphere
自動カーネル スケールのガウス カーネル関数を使用してバイナリ サポート ベクター マシン (SVM) 分類モデルに学習させます。
Mdl = fitcsvm(X,Y, ... 'KernelFunction','gaussian','KernelScale','auto');
Mdl
は、ClassificationSVM
オブジェクトです。
learnerCoderConfigurer
を使用して、ClassificationSVM
モデルについてコーダー コンフィギュアラーを作成します。予測子データ X
を指定します。関数 learnerCoderConfigurer
は、入力 X
を使用して、関数 predict
の入力のコーダー属性を設定します。
configurer = learnerCoderConfigurer(Mdl,X);
configurer
は、ClassificationSVM
オブジェクトのコーダー コンフィギュアラーである ClassificationSVMCoderConfigurer
オブジェクトです。
coder.config
(MATLAB Coder) を使用して、コード生成構成オブジェクトを作成します。ダイナミック ライブラリを生成するため 'dll'
を指定し、コード生成レポートを有効にするため GenerateReport
プロパティとして true
を指定します。
cfg = coder.config('dll');
cfg.GenerateReport = true;
C/C++ コードを生成するには、適切に設定されている C/C++ コンパイラにアクセスできなければなりません。MATLAB Coder は、サポートされているインストール済みのコンパイラを探して使用します。mex
-setup
を使用すると、既定のコンパイラを表示および変更できます。詳細は、既定のコンパイラの変更を参照してください。
generateCode
と構成オブジェクト cfg
を使用して、コードを生成します。また、出力フォルダー パスを指定します。
generateCode(configurer,cfg,'OutputPath','testPath')
Specified folder does not exist. Folder has been created. generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'ClassificationSVMModel.mat' Code generation successful: To view the report, open('codegen/dll/ClassificationSVMModel/html/report.mldatx')
generateCode
は、指定されたフォルダーを作成します。この関数は、コードの生成に必要な MATLAB ファイルも生成し、これらをこのフォルダーに格納します。その後、generateCode
は testPath\codegen\dll\ClassificationSVMModel
フォルダーに C コードを生成します。
生成されたコードにおける ECOC 分類モデルのパラメーターの更新
SVM バイナリ学習器を使用する誤り訂正出力符号 (ECOC) モデルに学習をさせ、このモデルのコーダー コンフィギュアラーを作成します。コーダー コンフィギュアラーのプロパティを使用して、ECOC モデルのパラメーターのコーダー属性を指定します。コーダー コンフィギュアラーのオブジェクト関数を使用して、新しい予測子データについてラベルを予測する C コードを生成します。その後、異なる設定を使用してモデルに再学習をさせ、コードを再生成せずに、生成されたコードのパラメーターを更新します。
モデルの学習
フィッシャーのアヤメのデータ セットを読み込みます。
load fisheriris
X = meas;
Y = species;
ガウス カーネル関数を使用し、予測子データを標準化する、SVM バイナリ学習器テンプレートを作成します。
t = templateSVM('KernelFunction','gaussian','Standardize',true);
テンプレート t
を使用して、マルチクラス ECOC モデルに学習をさせます。
Mdl = fitcecoc(X,Y,'Learners',t);
Mdl
は、ClassificationECOC
オブジェクトです。
コーダー コンフィギュアラーの作成
learnerCoderConfigurer
を使用して、ClassificationECOC
モデルについてコーダー コンフィギュアラーを作成します。予測子データ X
を指定します。関数 learnerCoderConfigurer
は、入力 X
を使用して、関数 predict
の入力のコーダー属性を設定します。また、出力の個数を 2 に設定して、生成されるコードが関数predict
の最初の 2 つの出力 (予測されたラベルと符号を反転した平均バイナリ損失) を返すようにします。
configurer = learnerCoderConfigurer(Mdl,X,'NumOutputs',2)
configurer = ClassificationECOCCoderConfigurer with properties: Update Inputs: BinaryLearners: [1x1 ClassificationSVMCoderConfigurer] Prior: [1x1 LearnerCoderInput] Cost: [1x1 LearnerCoderInput] Predict Inputs: X: [1x1 LearnerCoderInput] Code Generation Parameters: NumOutputs: 2 OutputFileName: 'ClassificationECOCModel'
configurer
は、ClassificationECOC
オブジェクトのコーダー コンフィギュアラーである ClassificationECOCCoderConfigurer
オブジェクトです。表示には、predict
と update
の調整可能な入力引数 X
、BinaryLearners
、Prior
および Cost
が示されています。
パラメーターのコーダー属性の指定
predict
の引数 (予測子データと名前と値のペアの引数 'Decoding'
および 'BinaryLoss'
) と update
の引数 (SVM 学習器のサポート ベクター) のコーダー属性を指定して、生成されるコードでこれらの引数を predict
と update
の入力引数として使用できるようにします。
はじめに、生成されたコードが任意の個数の観測値を受け入れるように、X
のコーダー属性を指定します。属性 SizeVector
および VariableDimensions
を変更します。属性 SizeVector
は、予測子データのサイズの上限を指定し、属性 VariableDimensions
は、予測子データの各次元が可変サイズと固定サイズのどちらであるかを指定します。
configurer.X.SizeVector = [Inf 4]; configurer.X.VariableDimensions = [true false];
1 番目の次元のサイズは、観測値の個数です。このケースでは、サイズの上限が Inf
であり、サイズが可変、つまり X
の観測値の個数が任意であることを指定します。この指定は、コードを生成するときに観測値の個数が不明である場合に便利です。
2 番目の次元のサイズは、予測子変数の個数です。この値は、機械学習モデルに対して固定しなければなりません。X
には 4 つの予測子が含まれているので、SizeVector
属性の 2 番目の値は 4、VariableDimensions
属性の 2 番目の値は false
でなければなりません。
次に、生成されるコードで名前と値のペアの引数 'BinaryLoss'
および 'Decoding'
を使用するように、BinaryLoss
と Decoding
のコーダー属性を変更します。BinaryLoss
のコーダー属性を表示します。
configurer.BinaryLoss
ans = EnumeratedInput with properties: Value: 'hinge' SelectedOption: 'Built-in' BuiltInOptions: {'hamming' 'linear' 'quadratic' 'exponential' 'binodeviance' 'hinge' 'logit'} IsConstant: 1 Tunability: 0
生成されるコードで既定以外の値を使用するには、コードを生成する前に値を指定しなければなりません。BinaryLoss
の Value
属性として 'exponential'
を指定します。
configurer.BinaryLoss.Value = 'exponential';
configurer.BinaryLoss
ans = EnumeratedInput with properties: Value: 'exponential' SelectedOption: 'Built-in' BuiltInOptions: {'hamming' 'linear' 'quadratic' 'exponential' 'binodeviance' 'hinge' 'logit'} IsConstant: 1 Tunability: 1
Tunability
が false
(logical 0) である場合に属性値を変更すると、Tunability
は true
(logical 1) に設定されます。
Decoding
のコーダー属性を表示します。
configurer.Decoding
ans = EnumeratedInput with properties: Value: 'lossweighted' SelectedOption: 'Built-in' BuiltInOptions: {'lossweighted' 'lossbased'} IsConstant: 1 Tunability: 0
生成されるコードで BuiltInOptions
の利用可能なすべての値を使用できるようにするため、Decoding
の IsConstant
属性として false
を指定します。
configurer.Decoding.IsConstant = false; configurer.Decoding
ans = EnumeratedInput with properties: Value: [1x1 LearnerCoderInput] SelectedOption: 'NonConstant' BuiltInOptions: {'lossweighted' 'lossbased'} IsConstant: 0 Tunability: 1
Decoding
の Value
属性が LearnerCoderInput
オブジェクトに変更されるので、'lossweighted'
と 'lossbased
' の両方を 'Decoding'
の値として使用できます。また、SelectedOption
が 'NonConstant'
に、Tunability
が true
に設定されます。
最後に、BinaryLearners
の SupportVectors
のコーダー属性を変更します。SupportVectors
のコーダー属性を表示します。
configurer.BinaryLearners.SupportVectors
ans = LearnerCoderInput with properties: SizeVector: [54 4] VariableDimensions: [1 0] DataType: 'double' Tunability: 1
各学習器でサポート ベクターの個数が異なるので、VariableDimensions
の既定値は [true false]
です。新しいデータまたは異なる設定を使用して ECOC モデルに再学習をさせた場合、SVM 学習器のサポート ベクターの個数が変化する可能性があります。したがって、サポート ベクターの個数の上限を増やします。
configurer.BinaryLearners.SupportVectors.SizeVector = [150 4];
SizeVector attribute for Alpha has been modified to satisfy configuration constraints. SizeVector attribute for SupportVectorLabels has been modified to satisfy configuration constraints.
SupportVectors
のコーダー属性が変更されると、Alpha
および SupportVectorLabels
のコーダー属性が構成の制約を満たすように変更されます。あるパラメーターのコーダー属性の変更によって構成の制約を満たすために他の従属パラメーターの変更が必要になる場合、従属パラメーターのコーダー属性は変更されます。
コーダー コンフィギュアラーを表示します。
configurer
configurer = ClassificationECOCCoderConfigurer with properties: Update Inputs: BinaryLearners: [1x1 ClassificationSVMCoderConfigurer] Prior: [1x1 LearnerCoderInput] Cost: [1x1 LearnerCoderInput] Predict Inputs: X: [1x1 LearnerCoderInput] BinaryLoss: [1x1 EnumeratedInput] Decoding: [1x1 EnumeratedInput] Code Generation Parameters: NumOutputs: 2 OutputFileName: 'ClassificationECOCModel'
BinaryLoss
と Decoding
も表示に含まれるようになりました。
コードの生成
C/C++ コードを生成するには、適切に設定されている C/C++ コンパイラにアクセスできなければなりません。MATLAB Coder は、サポートされているインストール済みのコンパイラを探して使用します。mex
-setup
を使用すると、既定のコンパイラを表示および変更できます。詳細は、既定のコンパイラの変更を参照してください。
ECOC 分類モデル (Mdl
) の関数 predict
および update
のコードを生成します。
generateCode(configurer)
generateCode creates these files in output folder: 'initialize.m', 'predict.m', 'update.m', 'ClassificationECOCModel.mat' Code generation successful.
関数 generateCode
は、以下の処理を実行します。
コードを生成するために必要な MATLAB ファイルを生成する。これには、
Mdl
の関数predict
およびupdate
にそれぞれ対応する 2 つのエントリポイント関数predict.m
およびupdate.m
が含まれます。2 つのエントリポイント関数に対して、
ClassificationECOCModel
という名前の MEX 関数を作成する。MEX 関数のコードを
codegen\mex\ClassificationECOCModel
フォルダーに作成する。MEX 関数を現在のフォルダーにコピーする。
生成されたコードの確認
予測子データを渡して、Mdl
の関数 predict
と MEX 関数の関数 predict
が同じラベルを返すかどうかを確認します。複数のエントリポイントがある MEX 関数内のエントリポイント関数を呼び出すため、1 番目の入力引数として関数名を指定します。コードを生成する前に IsConstant
属性を変更して 'Decoding'
を調整可能な入力引数として指定したので、'lossweighted'
は 'Decoding'
の既定値ですが、MEX 関数を呼び出すときにも同じ指定を行う必要があります。
[label,NegLoss] = predict(Mdl,X,'BinaryLoss','exponential'); [label_mex,NegLoss_mex] = ClassificationECOCModel('predict',X,'BinaryLoss','exponential','Decoding','lossweighted');
isequal
を使用して、label
と label_mex
を比較します。
isequal(label,label_mex)
ans = logical
1
すべての入力が等しい場合、isequal
は logical 1 (true
) を返します。この比較により、同じラベルを Mdl
の関数 predict
と MEX 関数の関数 predict
が返すことを確認します。
NegLoss
と比較すると、NegLoss_mex
には丸めによる差が含まれている可能性があります。このケースでは、小さい誤差を許容して NegLoss_mex
と NegLoss
を比較します。
find(abs(NegLoss-NegLoss_mex) > 1e-8)
ans = 0x1 empty double column vector
この比較により、許容誤差 1e–8
内で NegLoss
と NegLoss_mex
が等しいことを確認します。
モデルの再学習と生成コード内のパラメーターの更新
異なる設定を使用してモデルに再学習をさせます。ヒューリスティック手法を使用して適切なスケール係数が選択されるようにするため、'KernelScale'
として 'auto'
を指定します。
t_new = templateSVM('KernelFunction','gaussian','Standardize',true,'KernelScale','auto'); retrainedMdl = fitcecoc(X,Y,'Learners',t_new);
validatedUpdateInputs
を使用して、更新するパラメーターを抽出します。この関数は、retrainedMdl
内の修正されたモデル パラメーターを判別し、修正されたパラメーター値がパラメーターのコーダー属性を満たすかどうかを検証します。
params = validatedUpdateInputs(configurer,retrainedMdl);
生成されたコード内のパラメーターを更新します。
ClassificationECOCModel('update',params)
生成されたコードの確認
retrainedMdl
の関数 predict
の出力と、更新した MEX 関数の関数 predict
の出力を比較します。
[label,NegLoss] = predict(retrainedMdl,X,'BinaryLoss','exponential','Decoding','lossbased'); [label_mex,NegLoss_mex] = ClassificationECOCModel('predict',X,'BinaryLoss','exponential','Decoding','lossbased'); isequal(label,label_mex)
ans = logical
1
find(abs(NegLoss-NegLoss_mex) > 1e-8)
ans = 0x1 empty double column vector
この比較により、label
と label_mex
が等しく、NegLoss
と NegLoss_mex
が許容誤差内で等しいことが確認されます。
入力引数
configurer
— コーダー コンフィギュアラー
コーダー コンフィギュアラー オブジェクト
機械学習モデルのコーダー コンフィギュアラー オブジェクト。learnerCoderConfigurer
を使用して作成したコーダー コンフィギュアラー オブジェクトを指定します。
モデル | コーダー コンフィギュアラー オブジェクト |
---|---|
マルチクラス分類用の二分決定木 | ClassificationTreeCoderConfigurer |
1 クラスおよびバイナリ分類用の SVM | ClassificationSVMCoderConfigurer |
バイナリ分類用の線形モデル | ClassificationLinearCoderConfigurer |
SVM モデルおよび線形モデル用のマルチクラス モデル | ClassificationECOCCoderConfigurer |
回帰用の二分決定木 | RegressionTreeCoderConfigurer |
サポート ベクター マシン (SVM) 回帰 | RegressionSVMCoderConfigurer |
線形回帰 | RegressionLinearCoderConfigurer |
cfg
— ビルド タイプ
'mex'
(既定値) | 'dll'
| 'lib'
| コード生成構成オブジェクト
ビルド タイプ。'mex'
、'dll'
、'lib'
、または coder.config
(MATLAB Coder) で作成したコード生成構成オブジェクトを指定します。
generateCode
は、以下のいずれかのビルド タイプを使用して C/C++ コードを生成します。
'mex'
— プラットフォームに依存する拡張子をもつ MEX 関数を生成します。MEX 関数は、コマンド ウィンドウから実行できる C/C++ プログラムです。展開用の C/C++ ライブラリを生成する前に、生成されるコードが正しい機能を提供するかどうかを検証するため、MEX 関数を生成します。'dll'
— ダイナミック C/C++ ライブラリを生成します。'lib'
— スタティック C/C++ ライブラリを生成します。coder.config
(MATLAB Coder) で作成したコード生成構成オブジェクト — コード生成オプションをカスタマイズするため、コード生成構成オブジェクトを使用して C/C++ コードを生成します。このオブジェクトを使用して、ビルド タイプおよび他の構成オプションを指定できます。たとえば、コード生成レポートを有効にするにはGenerateReport
パラメーターを変更し、C++ コードを生成するにはTargetLang
パラメーターを変更します。TargetLang
パラメーターの既定値は、C コードを生成する'C'
です。詳細については、cfg = coder.config('mex'); cfg.GenerateReport = true; cfg.TargetLang = 'C++';
codegen
(MATLAB Coder) の-config
オプション、coder.config
(MATLAB Coder)、およびビルド設定の構成 (MATLAB Coder)を参照してください。
generateCode
は、outputPath
\codegen\type
\
outputFileName
フォルダーに C/C++ コードを生成します。type
は引数 cfg
によって指定されたビルド タイプ、outputFileName
は configurer
の OutputFileName
プロパティに格納されているファイル名です。
outputPath
— 出力ファイルのフォルダー パス
現在のフォルダー (既定値) | 文字ベクトル | string スカラー
generateCode
の出力ファイルのフォルダー パス。文字ベクトルまたは string 配列を指定します。
フォルダー パスとして、絶対パスまたは現在のフォルダー パスに対する相対パスを指定できます。
パスには空白を含めないでください。これは、オペレーティング システムの構成によってはコード生成の失敗を引き起こす可能性があります。
日本語文字など、7 ビット ASCII 以外の文字をパスに含めることもできません。
指定されたフォルダーが存在しない場合、generateCode
はフォルダーを作成します。
generateCode
は以下の 4 つの MATLAB ファイル、predict.m
、update.m
、initialize.m
、および機械学習モデルの情報を含む MAT ファイルを、指定されたフォルダーで探します。この 4 つのファイルがフォルダーに存在しない場合、generateCode
はファイルを生成します。それ以外の場合、generateCode
は MATLAB ファイルを生成しません。
generateCode
は、outputPath
\codegen\type
\
outputFileName
フォルダーに C/C++ コードを生成します。type
は引数 cfg
によって指定されたビルド タイプ、outputFileName
は configurer
の OutputFileName
プロパティに格納されているファイル名です。
例: 'C:\myfiles'
データ型: char
| string
制限
関数
generateCode
は関数saveLearnerForCoder
、loadLearnerForCoder
およびcodegen
を使用するので、これらの関数におけるコード生成の制限は関数generateCode
にも適用されます。詳細については、saveLearnerForCoder
、loadLearnerForCoder
およびcodegen
(MATLAB Coder) の関数リファレンス ページを参照してください。機械学習モデルおよびそのオブジェクト関数のコード生成に関する使用上の注意および制限については、対応するリファレンス ページの「コード生成」セクションを参照してください。
モデル モデル オブジェクト 関数 predict
マルチクラス分類用の二分決定木 CompactClassificationTree
predict
1 クラスおよびバイナリ分類用の SVM CompactClassificationSVM
predict
バイナリ分類用の線形モデル ClassificationLinear
predict
SVM モデルおよび線形モデル用のマルチクラス モデル CompactClassificationECOC
predict
回帰用の二分決定木 CompactRegressionTree
predict
SVM 回帰 CompactRegressionSVM
predict
線形回帰 RegressionLinear
predict
代替機能
独自のコード生成ワークフローに従って MATLAB ファイル (
predict.m
、update.m
、initialize.m
) を変更する場合は、generateFiles
を使用してこれらのファイルを生成し、codegen
(MATLAB Coder) を使用してコードを生成します。
バージョン履歴
R2018b で導入
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)