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

7 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)

Categories

Find more on Simulink in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!