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

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

请先登录,再进行评论。

采纳的回答

Kenta
Kenta 2019-5-22
返信が遅くなり、申し訳ありません。
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 个)

产品

Community Treasure Hunt

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

Start Hunting!