Main Content

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

コード生成

Statistics and Machine Learning Toolbox™ 関数に対する C/C++ コードおよび MEX 関数の生成

MATLAB® Coder™ は、コード生成をサポートする Statistics and Machine Learning Toolbox 関数から、読み取り可能および移植可能な C および C++ コードを生成します。たとえば、コード生成を使用して学習済みのサポート ベクター マシン (SVM) 分類モデルをデバイスにデプロイすることにより、MATLAB を実行できないハードウェア デバイスで新しい観測値を分類できます。

これらの関数に対する C/C++ コードは、いくつかの方法で生成できます。

  • 機械学習モデルのオブジェクト関数において、saveLearnerForCoderloadLearnerForCoder、および codegen (MATLAB Coder) を使用します。

  • 機械学習モデルのオブジェクト関数 predict および update に対する learnerCoderConfigurer によって作成されたコーダー コンフィギュアラーを使用します。コンフィギュアラーを使用してコード生成オプションを設定し、生成したコードのモデル パラメーターを更新します。

  • コード生成をサポートする他の関数については、codegen を使用します。

一部の機械学習モデルの予測において固定小数点の C/C++ コードを生成することもできます。このタイプのコード生成には Fixed-Point Designer™ が必要です。

機械学習モデルの予測を Simulink® に統合するには、MATLAB Function ブロックを使用するか、Statistics and Machine Learning Toolbox ライブラリの Simulink ブロックを使用します。

コード生成の詳細については、コード生成の紹介を参照してください。

コード生成をサポートする関数の一覧については、関数リスト (C/C++ コード生成) を参照してください。

関数

すべて展開する

saveLearnerForCoderモデル オブジェクトをコード生成用のファイルに保存
loadLearnerForCoder保存されたコード生成用モデルからのモデル オブジェクトの再構築
generateLearnerDataTypeFcn固定小数点コードの生成用のデータ型を定義する関数を生成

コーダー コンフィギュアラー オブジェクトの作成

learnerCoderConfigurer機械学習モデルのコーダー コンフィギュアラーの作成

コーダー コンフィギュアラー オブジェクトの処理

generateCodeコーダー コンフィギュアラーの使用による C/C++ コードの生成
generateFilesコーダー コンフィギュアラーを使用するコード生成用 MATLAB ファイルの生成
validatedUpdateInputs更新する機械学習モデルのパラメーターの検証および抽出
updateコード生成用にモデル パラメーターを更新

オブジェクト

すべて展開する

ClassificationTreeCoderConfigurerマルチクラス分類用の二分決定木モデルのコーダー コンフィギュアラー
ClassificationSVMCoderConfigurer1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM) のコーダー コンフィギュアラー
ClassificationLinearCoderConfigurer高次元データの線形バイナリ分類用のコーダー コンフィギュアラー
ClassificationECOCCoderConfigurerバイナリ学習器を使用するマルチクラス モデルのコーダー コンフィギュアラー
RegressionTreeCoderConfigurer回帰用の二分決定木モデルのコーダー コンフィギュアラー
RegressionSVMCoderConfigurerサポート ベクター マシン (SVM) 回帰モデルのコーダー コンフィギュアラー
RegressionLinearCoderConfigurer高次元データをもつ線形回帰モデル用のコーダー コンフィギュアラー

ブロック

ClassificationSVM Predict1 クラスおよびバイナリ分類用のサポート ベクター マシン (SVM) 分類器を使用した観測値の分類
RegressionSVM Predictサポート ベクター マシン (SVM) 回帰モデルの使用による応答の予測

トピック

コード生成のワークフロー

コード生成の紹介

Statistics and Machine Learning Toolbox 関数に対する C/C++ コードを生成する方法を学ぶ。

一般的なコード生成のワークフロー

機械学習モデル オブジェクトを使用しない Statistics and Machine Learning Toolbox の関数に対するコードの生成。

機械学習モデルの予測をコマンド ラインで行うコードの生成

分類または回帰モデルの予測を行うためのコードをコマンド ラインで生成する。

機械学習モデルの予測を MATLAB Coder アプリを使用して行うコードの生成

MATLAB Coder アプリを使用して、分類または回帰モデルの予測を行うためのコードを生成する。

予測用のコード生成とコーダー コンフィギュアラーの使用による更新

コーダー コンフィギュアラーを使用して、モデルの予測を行うコードを生成する。生成されたコードのモデル パラメーターを更新する。

コード生成と分類学習器アプリ

分類学習器アプリを使用して分類モデルに学習をさせ、予測用の C/C++ コードを生成する。

最近傍探索モデルのコード生成

再近傍探索モデルを使用して最近傍を探索するためのコードを生成する。

コード生成用の可変サイズ引数の指定

実行時にサイズが変化する可能性がある入力引数を受け入れるコードを生成する。

カテゴリカル予測子による SVM 分類器の学習と C/C++ コードの生成

SVM 分類器をあてはめてコードを生成する前に、カテゴリカル予測子を数値ダミー変数に変換します。

SVM の予測用の固定小数点コード生成

SVM 分類モデルまたは SVM 回帰モデルを予測するために、固定小数点コードを生成します。

確率分布オブジェクトのコードの生成

確率分布オブジェクトを標本データにあてはめて、近似分布オブジェクトを評価するコードを生成します。

table の数値データを分類するためのコードの生成

二分決定木を使用して table の数値データを分類するためのコードを生成する。

コード生成の応用

RegressionSVM Predict ブロックの使用による応答の予測

この例では、回帰学習器アプリを使用してサポート ベクター マシン (SVM) 回帰モデルの学習を行い、RegressionSVM Predictブロックを Simulink® の応答予測に使用する方法を示します。

ClassificationSVM Predict ブロックの使用によるクラス ラベルの予測

この例では、ClassificationSVM Predictブロックをラベル予測に使用する方法を示します。

MATLAB Function ブロックの使用によるクラスの予測

SVM モデルを使用してデータを分類する Simulink モデルからコードを生成します。

分類およびコード生成用の System object

学習済みの分類モデルを使用して予測を行うためのコードを System object™ から生成し、System object を Simulink モデルで使用します。

Stateflow の使用によるクラス ラベルの予測

判別分析分類器を使用してデータを分類する Stateflow® モデルからコードを生成します。

注目の例