MATLAB Answers

Toshi
0

SVMで学習した変数​を.matに格納して​別のPCに移したい

Asked by Toshi
on 11 May 2019
Latest activity Answered by Kenta Itakura on 22 May 2019
分類学習器アプリのSVM(線形)を使用して得た学習データ(Classificationデータ)を用いて、
別のPCにあるSimulinkの関数に使用したいと考えています。
そのため、Classification内の変数データを.matに出力して、USBで格納し、
他のPCに入れて展開しSimulinkで使用したいと考えています。
SVMを使用したPCは、MALAB&Simulink 2019です。
どのようにすれば、Classification内の変数データを.matに出力して取り出せるでしょうか。
ご指南頂けますと幸いです。
何卒よろしくお願い申し上げます。

  2 Comments

Kenta Itakura on 11 May 2019
一点お尋ねしたいのですが、ここでいう、「得た学習データ(classificationデータ)」とは、推論をして得られたデータのことで正しいですか?
それならば、得られた分類器をコードとしてインポートして、通常のコードと同様にコマンドウィンドウのほうで走らせると予測結果を.matファイルとして保存できると思います。その場合、繰り返し、かつ手軽に、予測ラベルを取り出せるので便利かと思いました。
Toshi
on 17 May 2019
お返事ありがとうございます。
「分類学習器」の「モデルのエクスポート」から、
「trainedmodel」を作成し、その中の「ClassificationSVM」の中身を指しています。
仰っているやり方は、「モデルのエクスポート」からの「コード生成」で合っておりますでしょうか?
恐れ入りますが、その場合の具体的な操作について、
ご教示頂けますと幸いです。
何卒よろしくお願い申し上げます。

Sign in to comment.

1 Answer

Answer by Kenta Itakura on 22 May 2019
 Accepted Answer

返信が遅くなり、申し訳ありません。
load fisheriris
inds = ~strcmp(species,'setosa');
X = meas(inds,3:4);
y = species(inds);
ylabel=[ones(50,1);ones(50,1)+1];
data=[X,ylabel];
%% 推論を行う場合
yfit=trainedModel.predictFcn(X);
% 精度の計算(実際は新たなデータで行う)
accuracy=nnz(yfit==ylabel)/numel(yfit)
% svmのパラメータを知りたい場合は、ワークスペースのtrainedModelをクリック、さらにClassificationSVMをクリックすると各パラメータを確認可能
たとえば、上のデータで分類アプリを実行しました。
SVM=>細かいガウスで実行後、「モデルのエクスポート」をクリックします。
するとワークスペース上にtrainedModelが格納されますね。
それを上の%のコメントのとおり進めていけば、SVMのパラメータが確認できます。
保存したい場合は、trainedModel.classificationSVMを変数として取り出し、.matで保存してください。

  0 Comments

Sign in to comment.