Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

新しいデータを予測するための分類モデルのエクスポート

新しいデータについて予測を行うためのワークスペースへのモデルのエクスポート

学习器的分类モデルモデル作成した后,なモデルモデルをワークワークワークワークスペーススペースにエクスポートエクスポートますます。。そのその,,学习済みののモデルをを使用

メモ

分類学習器がエクスポートする最終的なモデルの学習には、常にデータセット全体が使用されます。使用する検証方式は、アプリによる検証メトリクスの計算方法のみに影響を与えます。結果を可視化する各種のプロットと検証メトリクスを使用して、分類問題に最適なモデルを選択できます。

以下は、モデルを MATLAB®ワークスペースにエクスポートする手順です。

  1. 分类学习器,エクスポートするをを[モデル]ペインから选択ます。

  2. [分类]タブの[エクスポート]セクションで次エクスポートのいずれかクリックします。

    • モデルをさに使用したを含める场合は,[モデルのエクスポート]をクリックし、[モデルのエクスポート]を选択し。

      ClassificationTreeClassificationDiscriminantClassificationSVMClassificationNaiveBayesClassificationKNNClassificationKernelClassificationEnsemble分类neuralnetworkなどのが含まて构造体,学习モデルをワークスペーススペースにエクスポートエクスポート。。。

    • 学習データを含めない場合は、[モデルのエクスポート]をクリックし、[コンパクトモデル]を选択し。このオプションを選択すると、不要なデータを可能な限り削除したモデルがエクスポートされます。一部の分類器では、これは学習データが含まれていないコンパクトな分類オブジェクトです (compactClassificationTreeなど)。コンパクトな分類オブジェクトは新しいデータの予測を行うために使用できますが、利用可能なメソッドは少なくなります。

  3. 必要な,する変数の名前[モデルの]ダイアログダイアログボックスで编集し。[OK]をし。器がされようにため,エクスポートしたた既定名既定名既定名训练的模型は,を行うにインクリメントさます(训练的模型1など)。

    新しい変数 (训练的模型など) がワークスペースに表示されます。

    エクスポートし关する情报がウィンドウウィンドウれ。。メッセージを読んで,新しい新しいデータで予测予测を行う行う行う方法方法

新しいデータでの予測

モデルをからスペースにするする学习器で生成生成したコードコードを実行すると,,新しい新しいデータデータデータで训练的模型という構造体が作成されます。この構造体には、分類オブジェクトと予測のための関数が格納されています。この構造体を使用すると、主成分分析 (PCA) が含まれているモデルについて予測を行うことができます。

  1. エクスポートし分类を使用してデータデータtについて予測を行うには、次の形式を使用します。

    是的= C.predictFcn(T)
    ここで,Cは変数名前(训练的模型など) です。

    アプリでし学习と同じ形式データ型のデータtを指定します (テーブルまたは行列)。

    • テーブルを指定する場合、学習データと同じ予測子を含めます。関数predictFcnは,追加変数无视し変数のおよび型は,,元の学习データデータと一致ししなけれなけれなけれ。

    • 行列を指定する場合、学習データと同じ予測子の列または行が、同じ順序および形式で格納されていなければなりません。応答変数、アプリでインポートしなかった変数、および他の未使用変数は含めないでください。

    出力の是的には点ごとクラスの予测含まててますます。

  2. エクスポートした構造体のフィールドを確認します。予測を行う方法のヘルプを表示するには、次のように入力します。

    C。HowToPredict

さらに分析を行うため、エクスポートした構造体から分類オブジェクト (モデルのタイプに応じてTrainedModel.ClassificationvmTrainedModel.ClassificationTree)ををもできpcaなどなどなどなど特徴変换をで使用使用ししたた场合场合场合场合,,构造体ののののののフィールドフィールドフィールドフィールドフィールドフィールドフィールドの情报をを使用使用しししこのこの

新しいデータモデルに学习せるせるMATLABコードの生成

分類学習器で対話的に分類モデルを作成した後で、最適なモデルについて MATLAB コードを生成できます。このコードは、新しいデータでモデルを学習させるために使用できます。

Matlabコードコードコードをし。。。

  • 规模データでの学习。データのでををモデルををアプリアプリででで探索探索,そこそこで选択したたモデルにに大大规模な

  • 他の関数構文の学習を必要としない、モデルに学習をさせるスクリプトを作成

  • コードを調べて、プログラムで分類器に学習をさせる方法を学ぶ

  • アプリでできオプションを设定するさらなる分析用にコード変更

  • 别のに対してを缲り返し学习を自动化

  1. 分類学習器の[モデル]ペインでコード生成するを选択します。

  2. [分类]タブの[エクスポート]セクションで[関数の生成]をクリックし。

    matlabのがさ生成れれののエディターにますます。このこのこのファイルファイルには,予测子予测子,応答応答,,分类器の学习学习方法方法およびおよび検证検证

  3. 器の再学习させるはは元のデータデータデータをを入力入力引数引数引数としてとして指定ててコマンドコマンドラインラインでで关数をを呼び出しますます。新しいデータはは元

    生成さたコードのの行目行目行目功能という単語を除いた部分をコピーし、学習データまたは新しいデータの変数名を反映するように入力引数trainingDataを编集ます。同様,,responseData入力引数编集ます(该当する)。

    たとえば、fishertableデータセットで学習させた分類器を再学習させるには、次のように入力します。

    [TrainedModel,validationAccuracy] = trainclassifier(fishertable)

    生成さコードは,构造体训练的模型を返しこの体には,器分类からワークスペースににエクスポートエクスポートするすると作成される构造构造体体ととと同じ同じ

  4. 同一の分類器を新しいデータによって学習させる処理を自動化する方法や、プログラムで分類器を学習させる方法については、生成されたコードを確認してください。このコードには、次の処理を行う方法が示されています。

    • 正しい形状になるようにデータを処理する。

    • 分类器学习,すべての分类オプションを指定する。

    • 交差検证をする。

    • 検定精度をする。

    • 検定予测スコアを计算。。

    メモ

    matlabコードコードコードコード生成すると,生成されたコードに最适化化プロセスプロセスは含ま

予測用の C コードの生成

この表のいずれかのモデルに分類学習器を使用して学習をさせた場合、予測用の C コードを生成できます。

モデル タイプ 基となるオブジェクト
决定木 ClassificationTreeまたはcompactClassificationTree
判别分析 ClassificationDiscriminantまたは紧凑型歧视
単纯ベイズ ClassificationNaiveBayesまたは紧凑型班级
サポート ベクター マシン ClassificationSVM((バイナリ)、CompactClassificationSVM((バイナリ)、分类(マルチクラス),またはcompactclassificationecoc(マルチクラス)
最近傍点 ClassificationKNN
アンサンブル ClassificationEnsembleCompactClassificationEnsemble,またはClassificationBaggedEnsemble

メモ

予测のコードのにロジスティックモデルを使用でき。ただし,,ロジスティック回帰回帰の基とはモデルGeneralizedlinearmodelオブジェクトまたはCompactGeneralizedLinearModelオブジェクトであるこのでは数値予测予测にする追加追加のコードコード行行をを予测予测ポイントポイントににに含める含める含めることことこと分類学習器で学習させたロジスティック回帰モデルのコード生成を参照してください。

cコードのは以下がです。

  • MATLAB CODER™のライセンス

  • 適切なモデル (バイナリまたはマルチクラス)

  1. たとえば、分類学習器で SVM モデルに学習をさせ、そのモデルをワークスペースにエクスポートします。

    エクスポートしで基なる分类を调べ。构造体ののフィールドを调べててモデルオブジェクトをを识别识别识别,C。ClassificationSVMのようにます。Cは構造体の名前です。

    基とオブジェクトは,学习を行っ行ったた行っタイプタイプタイプ(バイナリまたはクラス)とととととと,コンパクトモデルをエクスポートエクスポートしししたたかClassificationSVMCompactClassificationSVM分类,またはcompactclassificationecocにすることができ。

  2. Savelearnerforcoder(MDL,文件名)というよう关数节省LearnerForCoderを使用して、コード生成用にモデルを準備します。以下に例を示します。

    savelearnerforcoder(c.classificationsvm,'mySVM'

  3. 保存されたモデルを読み込んで新しいデータに対して予測を行う関数を作成します。以下に例を示します。

    功能label = classifyx(x)%#codegen%classifyx使用SVM模型分类%classifyx分类x中的测量值% using the SVM model in the file mySVM.mat, and then%返回标签中的类标签。CompactMdl = loadLearnerForCoder('mySVM');label = predition(compactmdl,x);结尾
  4. 关数から MEX 関数を生成します。以下に例を示します。

    codegenclassifyx.m-args{数据}
    コンパイル命令%#codegenmatlabコードコードコード生成用であることますますますますます关数关数关数关数确実确実にに同じ入力を使用できるできるようようにににに-argsオプションを使用して指定します。dataは、モデルの学習に使用した予測列のみを含む行列として指定します。

  5. mex关数使用て予测行います以下に例示し。。

    labels = classifyx_mex(data);

pca特徴特徴変换アプリで使用场合追加の手顺手顺実行実行する必要がありますます。手动手动特徴特徴选択选択选択Xで同じを指定し引数引数Xは关数に対するです。

pcaをでした,この考虑に入れるため,エクスポートした构造构造构造体体ののののののフィールドフィールドフィールドXに行列の列が同じ順序で含まれている限り、テーブルと行列のどちらをアプリにインポートしたかは関係ありません。コードを生成する前に、以下の手順に従います。

  1. 次のをし,学习済み器の构造体CPCACENTERSフィールドおよびpcacoeficiationsフィールドフィールドをにします。。。

    节省('pcaInfo.mat',,,,'-struct',,,,'C',,,,“ PCACATENTERS”,,,,“ PCACOEFICISTICS”);

  2. 作成した関数のファイルに、PCA 変換を実行する追加の行を含めます。関数を作成します。この関数では、保存されたモデルを読み込み、PCA を実行し、新しいデータに対して予測を行います。以下に例を示します。

    功能label = classifyx(x)%#codegen%classifyx使用SVM模型分类%classifyx分类x中的测量值% using the SVM model in the file mySVM.mat,% and then returns class labels in label.%如果您在应用中使用手动功能选择,请确保x%仅包含您在模型中包含的列。CompactMdl = loadLearnerForCoder('mySVM');pcaInfo = coder.load('pcaInfo.mat',,,,“ PCACATENTERS”,,,,“ PCACOEFICISTICS”);PCACenters = pcaInfo.PCACenters; PCACoefficients = pcaInfo.PCACoefficients;% Performs PCA transformationpcaTransformedX = bsxfun(@minus,X,PCACenters)*PCACoefficients; [label,scores] = predict(CompactMdl,pcaTransformedX);结尾

详しい例について,コード生成と学习器アプリをし。。コード生成のフロー制限の详细は,,コード生成を参照してください。

MATLAB Compiler の使用による予測の展開

分类学习器スペースにをエクスポートし后,,,MATLAB编译器™を使用てモデルを展开でき。。

ワークスペースへのモデルのエクスポートの指示に従って训练的模型matlabワークワークワークワークにしたとます。予测をを展开するにには,,以下ののの。。

  • 構造体训练的模型を .mat ファイルに保存します。

    节省mymodel训练的模型
  • コンパイルコードします。コードコード,,学习学习済み済みモデルでで予测予测使用使用使用使用使用ししししなけれなけれなけれなけれなけれなけれなけれなけれなけれなけれなけれなけれなけれなければばばばなりなりなりなりなりなりなりませませませませませませませんんんんんんんんんん。。。。。。。コンパイルコンパイルコンパイルコンパイルさささささたたたアプリケーションアプリケーションアプリケーションアプリケーションさせるためも必要。このプラグマ,分类学习で使用するする任意任意ののモデル学习(たとえばFitctree)にできます。

    功能ypred = mypredict(tbl)%#功能FITCTREEload('mymodel.mat');ypred = trainedmodel.predictfcn(tbl);结尾
  • スタンドアロンとしてコンパイルし。。

    MCC-mmypredict.m

配布用のをMATLABProduction Serverにエクスポート

分类学习モデルにさせた,用用モデルモデルをMATLAB生产服务器™((MATLAB编译器SDK™が必要) にエクスポートできます。

  • [モデル]ペインで学習済みモデルを選択します。[分类]タブで,[エクスポート]セクションの[モデルのエクスポート]をクリックし、[配布用モデルエクスポート]を选択し。

  • [モデルの配布用のプロジェクト ファイルの選択] ダイアログ ボックスで、プロジェクト ファイルの場所と名前を選択します。

  • 自动生成さたpredictFunction.mファイルで必要てコードを検查,修正します。

  • 生产服务器コンパイラアプリして,および予测をパッケージ化し。。。[コンパイラ]タブの[テスト]セクションにある[クライアントのテスト]ボタンをクリックし、MATLAB生产服务器へのモデル配布をシミュレートしてから、[パッケージ]セクションの[パッケージ]ボタンをクリックすることで、コードをパッケージ化できます。

例については,Deploy Model Trained in Classification Learner to MATLAB Production Serverを参照てください详细については,Create Deployable Archive for MATLAB Production Server((MATLAB生产服务器)を参照してください。

参考

关数

クラス

关连するトピック