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

2 views (last 30 days)
Toshi
Toshi on 11 May 2019
Answered: Kenta on 22 May 2019
分類学習器アプリのSVM(線形)を使用して得た学習データ(Classificationデータ)を用いて、
別のPCにあるSimulinkの関数に使用したいと考えています。
そのため、Classification内の変数データを.matに出力して、USBで格納し、
他のPCに入れて展開しSimulinkで使用したいと考えています。
SVMを使用したPCは、MALAB&Simulink 2019です。
どのようにすれば、Classification内の変数データを.matに出力して取り出せるでしょうか。
ご指南頂けますと幸いです。
何卒よろしくお願い申し上げます。
  2 Comments
Kenta
Kenta on 11 May 2019
一点お尋ねしたいのですが、ここでいう、「得た学習データ(classificationデータ)」とは、推論をして得られたデータのことで正しいですか?
それならば、得られた分類器をコードとしてインポートして、通常のコードと同様にコマンドウィンドウのほうで走らせると予測結果を.matファイルとして保存できると思います。その場合、繰り返し、かつ手軽に、予測ラベルを取り出せるので便利かと思いました。
Toshi
Toshi on 17 May 2019
お返事ありがとうございます。
「分類学習器」の「モデルのエクスポート」から、
「trainedmodel」を作成し、その中の「ClassificationSVM」の中身を指しています。
仰っているやり方は、「モデルのエクスポート」からの「コード生成」で合っておりますでしょうか?
恐れ入りますが、その場合の具体的な操作について、
ご教示頂けますと幸いです。
何卒よろしくお願い申し上げます。

Sign in to comment.

Accepted Answer

Kenta
Kenta on 22 May 2019
返信が遅くなり、申し訳ありません。
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で保存してください。

More Answers (0)

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!