Missing value for predict in Classification Learner App

6 ビュー (過去 30 日間)
Huy Cao
Huy Cao 2022 年 1 月 17 日
編集済み: Cris LaPierre 2022 年 1 月 17 日
Hi, I have a question. I did the Classification Step with the training step. After trainning I use test data in the App, I have added the data data into Data Test set, but there is one error it said Missing value for predict Power. Can anyone help me, cause I think my data is not missing anything
% TRAINING
trainingData=readtable("ClassificationData2.xlsx")
% The first 4 columns are the inputs.
tPredictors = trainingData(:, 1:2);
% The last column is the "answer/ground truth".
tResponse = trainingData{:, end};
testingData=readtable("ClassificationTestData2.xlsx")
tTesting=testingData(:,1:2);
ttestResponse=testingData{:,end};
T=readtable('ClassificationTestData3.xlsx')
[a,b,c]=xlsread('ClassificationTestData3');
save ClassificationTestData3 c
  2 件のコメント
Image Analyst
Image Analyst 2022 年 1 月 17 日
What model did you use? Fine Tree? Did you export trainedModel to trainedModel.mat with the Export button and use load() to read it back in and then use predict on your test data? Please attach trainedModel.mat with the paperclip icon.
Huy Cao
Huy Cao 2022 年 1 月 17 日
@Image AnalystYes the fine tree, I saved the trained model with the code u send me
save('trainedModel69.mat', 'trainedModel69')
and then i loaded with load('trainedModel69.mat')
Am I right?

サインインしてコメントする。

採用された回答

Cris LaPierre
Cris LaPierre 2022 年 1 月 17 日
編集済み: Cris LaPierre 2022 年 1 月 17 日
I was able to train using trainingData and test using testingData in R2021a without getting any errors.
Can you provide more details on what your validation settings were? What did you select for predictors and response?
I selected the table trainingData,. The variables were already correctly selected for predictors and response.. I used the default validation
For test data, I selected testingData. The variables were already correctly selected for predictors and response.
  4 件のコメント
Cris LaPierre
Cris LaPierre 2022 年 1 月 17 日
編集済み: Cris LaPierre 2022 年 1 月 17 日
In R2021a, the Classification Learner App lets you import your testing data into the app. You can therefore test without having to export your trained model first.
You do still need to export your trained and tested model in order to make new predictions (data where you do not know the reponse). See this page for how to export and use your trained model to make new predictions.
Assuming I exported my model to a structure named trainedModel, here is how I would make new predictions using the data in ClassificationTestData3 (which is not test data btw).
load pwModel % ignore. This line is for loading the attached trained model
% PREDICT
newData=readtable("ClassificationTestData3.xlsx");
pCluster = trainedModel.predictFcn(newData);
gscatter(newData.Power,newData.WingSpeed,pCluster)
Huy Cao
Huy Cao 2022 年 1 月 17 日
Yes, this is the best answer I want to. Thank youuu

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2022 年 1 月 17 日
In code you can do this:
% Load saved model.
s = load('trainedModel69.mat')
trainedModel69 = s.trainedModel69
% Read in test table with columns for power and WingSpeed.
tPredictors = readtable('ClassificationTestData3.xlsx')
% Get estimated output values based on these input values.
predictedValues = trainedModel69.predictFcn(tPredictors)
  1 件のコメント
Huy Cao
Huy Cao 2022 年 1 月 17 日
oh okay thank you, it's works

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by