メインコンテンツ

Simulink で予測を行うための回帰モデルのエクスポート

回帰学習器でモデルに学習させた後、モデルと学習データを Simulink® にエクスポートできます。その後、エクスポートした学習データまたは新しいデータを使用して Simulink でモデルによる予測を行うことができます。

次のモデル タイプについては、すべてのモデルをエクスポートできます。

  • 回帰木

  • サポート ベクター マシン

  • 効率的に学習させた線形回帰

  • ガウス過程回帰

  • カーネル近似回帰

  • アンサンブル

  • ニューラル ネットワーク

線形回帰については、いずれのモデルも Simulink にエクスポートできません。

メモ

カテゴリカル予測子を含むモデルは Simulink にエクスポートできません。入力データにカテゴリカル データが含まれている場合は、アプリにインポートする前に、特徴選択を使用してカテゴリカル予測子を除外するか (回帰学習器アプリの使用による特徴選択と特徴変換を参照)、符号化したバージョンのカテゴリカル データを用意する必要があります。MATLAB コマンド ラインで dummyvar を使用して、各カテゴリカル変数をダミー変数で構成される数値行列に変換します。その後、すべてのダミー変数行列とその他の数値予測子を連結します。詳細は、ダミー変数を参照してください。

モデルを Simulink にエクスポートするには、次を行います。

  1. カテゴリカル予測子を含まないデータ セットを使用して、サポートされるモデルに回帰学習器で学習させます。サポートされるすべてのモデルに学習させるには、[学習] タブの [モデル] セクションで [Simulink でサポートされているすべて] をクリックし、[すべてを学習] をクリックします。エクスポートするモデルを [モデル] ペインで選択します。

  2. [学習] タブの [エクスポート] セクションで、[モデルのエクスポート] をクリックして [モデルを Simulink にエクスポート] を選択します。

  3. [回帰モデルを Simulink にエクスポート] ダイアログ ボックスで、モデルと入力データを MATLAB ワークスペースに保存するオプションをクリックします。モデルと入力データは Simulink モデル ワークスペースに保存することもできます。エクスポートする回帰モデルの変数名、およびエクスポートする Simulink モデル入力データの変数名を必要に応じて編集します。以前にエクスポートしたモデルが上書きされないように、モデルの既定名 trainedModel とモデル入力の既定名 inputData は、エクスポートを行うたびにインクリメントされます (trainedModel1 など)。[エクスポート] をクリックします。

    Export Regression Model to Simulink dialog box with options selected

  4. [Simulink モデルを名前を付けて保存] ダイアログ ボックスで、.slx ファイルの名前を必要に応じて編集し、[保存] をクリックします。MATLAB ワークスペースに保存するように指定した場合、学習済みモデルと入力データを含む .mat ファイルが同じディレクトリに作成されます。

    新しい変数 (trainedModelinputData など) が MATLAB ワークスペースに表示されます。Simulink が起動し、新しい Simulink モデルが作成されます。Simulink モデルの PreLoadFcn コールバック関数のコードが実行され、inputData のデータが読み込まれます。その後、Simulink モデルが読み込まれます。Simulink のコールバック関数の詳細については、モデル コールバック (Simulink)を参照してください。

    Exported Regression Leaner app model in Simulink

    From Workspace (Simulink) ブロックは、エクスポートした回帰モデルに対応するタイプの Predict ブロックに接続されます。たとえば、回帰木モデルをエクスポートした場合、ブロックは RegressionTree Predict ブロックになります。Predict ブロックをダブルクリックすると、データ型や追加オプションを指定できます。詳細については、対応する Predict ブロックのドキュメンテーション ページを参照してください。

    回帰学習器で特徴選択を使用するか PCA を有効にしてモデルに学習させた場合、From Workspace ブロックはモデル タイプのラベルが付いた Prediction サブシステム ブロックに接続されます。Prediction サブシステム ブロックをダブルクリックすると、Predict ブロック、Feature Selection サブシステム ブロック、および Dimensionality Reduction (PCA) サブシステム ブロックにアクセスできます。

  5. モデルは inputData の観測値を使用して予測を行うように構成されています。新しいデータを使用して予測を行うには、From Workspace ブロックをダブルクリックし、MATLAB 変数の名前かデータとして評価される式を入力します (詳細についてはFrom Workspace ブロックを使用したデータの読み込み (Simulink)を参照)。

  6. Simulink モデルを実行するには、[シミュレーション] タブで [実行] をクリックします。シミュレーション データ インスペクター (Simulink)を使用して、To Workspace (Simulink) ブロックのログ データを表示できます。

    To Workspace ブロックは、Predict ブロックからの予測応答を MATLAB ワークスペース内の outputPredictions という名前の新しい変数に出力します。To Workspace ブロックをダブルクリックすると、ワークスペース変数の名前を必要に応じて編集したり、ワークスペース変数の形式、ログに記録するサンプル数、ログ データの有効サンプル レート (間引き係数) などの他のオプションを指定したりできます。

Simulink での予測に Statistics and Machine Learning Toolbox™ ブロックを使用する方法を示す例については、RegressionTree Predict ブロックの使用による応答の予測を参照してください。

参考

トピック