新しいデータによる予測のための回帰モデルのエクスポート
ワークスペースへのモデルのエクスポート
回帰学習器アプリで対話的に回帰モデルを作成した後で、最適なモデルをワークスペースにエクスポートできます。その後、学習済みのモデルを使用して、新しいデータによる予測を行うことができます。
メモ
回帰学習器がエクスポートする最終的なモデルの学習には、常にテスト用に確保されたデータを除くデータ セット全体が使用されます。使用する検証方式は、アプリによる検証メトリクスの計算方法のみに影響を与えます。結果を可視化する各種のプロットと検証メトリクスを使用して、回帰問題に最適なモデルを選択できます。
モデルを MATLAB® ワークスペースにエクスポートするには、次を行います。
アプリで、エクスポートするモデルを [モデル] ペインから選択します。
一般に、学習済みのモデルの完全なバージョンまたはコンパクトなバージョンを
RegressionTreeなどの回帰オブジェクトを含む構造体としてワークスペースにエクスポートできます。[学習] タブの [エクスポート] セクションで、[モデルのエクスポート] をクリックして [モデルをワークスペースにエクスポート] を選択します。学習データを除外してコンパクトなモデルをエクスポートするには、[回帰モデルのエクスポート] ダイアログ ボックスでチェック ボックスをクリアします。コンパクトなモデルも新しいデータの予測に使用できます。モデルに学習データがない場合や学習データをモデルから除外できない場合はチェック ボックスが無効になることに注意してください。カーネル近似や効率的に学習させた線形モデルなどの一部のモデルには、学習データがまったく格納されません。
必要な場合は、エクスポートする変数の名前を [回帰モデルのエクスポート] ダイアログ ボックスで編集します。[OK] をクリックします。以前にエクスポートしたモデルが上書きされないようにするため、エクスポートするモデルの既定名
trainedModelは、エクスポートを行うたびにインクリメントされます (trainedModel1など)。新しい変数 (
trainedModelなど) がワークスペースに表示されます。エクスポートしたモデルに関する情報がコマンド ウィンドウに表示されます。メッセージを読んで、新しいデータで予測を行う方法を確認します。
エクスポートしたモデルを使用した新しいデータについての予測
モデルを回帰学習器からワークスペースにエクスポートするか、アプリで生成したコードを実行すると、新しいデータで予測を行うために使用できる trainedModel という構造体が作成されます。この構造体には、モデル オブジェクトと予測のための関数が格納されます。この構造体を使用すると、主成分分析 (PCA) が含まれているモデルについて予測を行うことができます。
エクスポートしたモデルを使用して、新しいデータ
Tについて予測を行います。ここで、yfit = trainedModel.predictFcn(T)
trainedModelはエクスポートした変数の名前です。アプリで使用した学習データと同じ形式およびデータ型のデータ
Tを指定します (table または行列)。table を指定する場合は、学習データと同じ予測子名を含めます。
predictFcnは、table 内の追加変数を無視します。変数の形式および型は、元の学習データと一致しなければなりません。行列を指定する場合、学習データと同じ予測子の列または行が、同じ順序および形式で格納されていなければなりません。応答変数、アプリでインポートしなかった変数、および他の未使用変数は含めないでください。
出力の
yfitには、各データ点についての予測が含まれています。エクスポートした構造体のフィールドを確認します。予測を行う方法のヘルプを表示するには、次のように入力します。
trainedModel.HowToPredict
さらに分析を行うため、エクスポートした構造体からモデル オブジェクトを抽出することもできます。PCA などの特徴変換をアプリで使用する場合は、構造体の PCA フィールドの情報を使用してこの変換を考慮に入れなければなりません。
MATLAB Compiler の使用による予測の展開
回帰学習器からワークスペースにモデルをエクスポートした後で、MATLAB Compiler™ を使用してそのモデルを展開できます。
ワークスペースへのモデルのエクスポートの指示に従って trainedModel という名前で学習済みモデルを MATLAB ワークスペースにエクスポートしたとします。予測を展開するには、以下の手順に従います。
構造体
trainedModelを .mat ファイルに保存します。save mymodel trainedModel
コンパイルするコードを記述します。このコードでは、学習済みモデルを読み込んで予測に使用しなければなりません。コンパイルされたアプリケーションで Statistics and Machine Learning Toolbox™ のコードが必要であることをコンパイラに認識させるため、プラグマも必要です。このプラグマは、回帰学習器で使用する任意のモデル学習関数 (たとえば
fitrtree) にできます。function ypred = mypredict(tbl) %#function fitrtree load('mymodel.mat'); ypred = trainedModel.predictFcn(tbl); end
スタンドアロン アプリケーションとしてコンパイルします。
mcc -m mypredict.m