分類学習器で学習させたバイナリGLMロジスティック回帰モデルのコード生成
この例では,分類学習器を使用してバイナリGLMロジスティック回帰モデルに学習させ,エクスポートされた分類モデルを使用してラベルを予測するCコードを生成する方法を示します。
標本データの読み込み
。
病人
。p
個の予測子で構成される予測子データX
【中文译文Y
? ? ? ?
负载病人X =[年龄舒张高度收缩期体重];p = size(X,2);Y =性别;
[]* *;[]セクションの右にある[qh]矢印をクリックしてギャラリーを表示し,[分類学習器]? ? ? ?[分類学習器]タブの[],[], []? ? ? ?
[ワークスペースからの新規セッション]ダイアログボックスの[]で,ワークスペース変数のリストからX
这是真的吗?[応答]の[]オプションボタンをクリックし,リストからY
? ? ? ?既定の検証方式をそのまま使用して続行するため,[gm66nd]。5个字的英文:。
。
バイナリGLMロジスティック回帰モデルの学習
。
[分類学習器]タブの[]セクションで[qh]。[]で[]。[学習],[中文]をクリックして[au:]? ? ? ?【中文译文[精度 (検証)]が[]。
ワークスペースへのモデルのエクスポート
matlab®(matlab®)saveLearnerForCoder
【中文】:
[分類学習器]* *;[]をクリックして[]? ? ?[]? ? ? ?【翻译】trainedLogisticRegressionModel
【中文翻译】(好的)。
構造体trainedLogisticRegressionModel
。trainedLogisticRegressionModel
のGeneralizedLinearModel
。
哎哟!この例をすべてのサポートファイルを含めて実行する場合は,モデルをエクスポートする代わりに,コマンドラインでtrainedLogisticRegressionModel.mat
。trainedLogisticRegressionModel
我的意思是,我的意思是,我的意思是,我的意思是。
负载(“trainedLogisticRegressionModel.mat”)
コマンドラインで,現在のフォルダーのmyModel.mat
。
saveLearnerForCoder (trainedLogisticRegressionModel。GeneralizedLinearModel,“myModel”)
。
classNames = {trainedLogisticRegressionModel。SuccessClass,…trainedLogisticRegressionModel.FailureClass trainedLogisticRegressionModel.MissingClass};保存(“ModelParameters.mat”,“类名”);
予測用のCコードの生成
★★★★★★★★★★★★codegen
。
【中文翻译classifyX.m
我的意思是,我的意思是。
ロジスティック回帰モデルの学習に使用したものと同じ予測子変数が含まれている観測値の数値行列(
X
)(中文myModel.mat
内の分類モデルを読み込むモデルを使用して予測確率を計算する
予測確率をインデックスに変換する(成功は1,失敗は2,欠損値は3)
ModelParameters.mat
内のクラス名を読み込むクラス名にインデックスを付けることで予測ラベルを返す
函数label = classifyX (X)% # codegen使用逻辑回归模型进行分类% CLASSIFYX用X对测量值进行分类%使用myModel.mat文件中的逻辑回归模型,%然后返回label中的类标签。n = size(X,1);Label = coder.nullcopy(cell(n,1));Mdl = loadLearnerForCoder(“myModel”);probability = predict(Mdl,X);Index = ~isnan(概率)*((概率<0.5)+1)+ isnan(概率)*3;classInfo = coder.load()“ModelParameters”);classNames = classInfo.classNames;为1:n label{i} = classNames{index(i)};结束结束
哎哟!特徴選択や主成分分析(PCA)の使用後に分類学習器でロジスティック回帰モデルを作成する場合は,エントリポイント関数のコードに追加の行を含めなければなりません。★★★★★★★★コード生成と分類学習器アプリ。
classifyX.m
★★★★★★★coder.typeof
を使用して,コード生成用の行列数据
? ? ?数据
★★★★数据
【中文】p
。p
。arg游戏
オプションを使用して,数据
。
数据=编码器。typeof(X,[Inf],[10]);codegenclassifyX.marg游戏数据
代码生成成功。
codegen
★★★★★classifyX_mex.mex64
。。
。X
★★★★★★★★★★
rng (“默认”)%为了重现性testX = datasample(X,15);
分類学習器で学習させた分類モデルで関数predictFcn
。
testLabels = trainedLogisticRegressionModel.predictFcn(testX);
【中文译文classifyX_mex
。
testLabelsMEX = classifyX_mex(testX);
这是一个很好的例子。testLabels
とtestLabelsMEX
【中文】isequal
逻辑1 (true)
isequal (testLabels testLabelsMEX)
ans =逻辑1
predictFcn
★★★★classifyX_mex
★★★★★★★
参考
loadLearnerForCoder
|saveLearnerForCoder
|coder.typeof
(MATLAB编码器)|codegen
(MATLAB编码器)|fitglm
|预测