Missing value for predict in Classification Learner App

7 vues (au cours des 30 derniers jours)
Huy Cao
Huy Cao le 17 Jan 2022
Modifié(e) : Cris LaPierre le 17 Jan 2022
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 commentaires
Image Analyst
Image Analyst le 17 Jan 2022
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 le 17 Jan 2022
@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?

Connectez-vous pour commenter.

Réponse acceptée

Cris LaPierre
Cris LaPierre le 17 Jan 2022
Modifié(e) : Cris LaPierre le 17 Jan 2022
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 commentaires
Cris LaPierre
Cris LaPierre le 17 Jan 2022
Modifié(e) : Cris LaPierre le 17 Jan 2022
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 le 17 Jan 2022
Yes, this is the best answer I want to. Thank youuu

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 17 Jan 2022
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)

Community Treasure Hunt

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

Start Hunting!

Translated by