MATLAB: Error using classreg.l​earning.in​ternal.tab​le2Predict​Matrix>mak​eXMatrix (line 97) Table variable job is not a valid predictor.

error using predict function with categorical columns on cross validated modelMATLAB

I am getting this error while predicting values for cross validated model – Error using classreg.learning.internal.table2PredictMatrix>makeXMatrix (line 97)
Table variable job is not a valid predictor.
Here is my code –
pt = cvpartition(bank_data.y,'holdout',0.35);
bank_Train = bank_data(training(pt),:);
bank_Test = bank_data(test(pt),:);
treeMdlCv= fitctree(bank_Train,'y','KFold',5); % y is the response variable
predictions = predict(treeMdlCv.Trained{2},bank_Test); %above error on running this line of code
CategoricalPredictors: [2 3 4 5 7 8 9 11 16]
I have attached my data file as well.

Best Answer

A KFold partitioned model should only be used to predict on the training dataset itself(Using kfoldpredict, for example). Once you are satisfied with the results, it's better to train the same model on the entire dataset, by not giving the KFold parameter. Then use that model for prediction.
Related Question