RegressionTree cannot use "predict" method?

조회 수: 2 (최근 30일)
Young
Young 2014년 3월 30일
댓글: reem aldaihani 2018년 2월 17일
Hello there,
I'm using Matlab R2013a and was able to train a regression tree using RegressionTree.fit(). However, when I used "predict(rtree, test_data)," I got the following error message:
Error using predict (line 85) Systems of classreg.learning.partition.RegressionPartitionedModel class cannot be used with the "predict" command. Convert the system to an identified model first, such as by using the "idss" command.
I believe using "predict" method confused a dynamic model estimation. Can you please tell me what was wrong?
Young

답변 (2개)

Young
Young 2014년 6월 9일
편집: Walter Roberson 2016년 4월 12일
As long as you're not using 'crossval' option, like
rtree = RegressionTree( x, y, 'crossval', 'on' );
The following should work:
[yfit, node] = predict( rtree, test_data );
So, just train a regression tree using "rtree = RegressionTree( train_data, train_label ); and then use it like, [yfit, node] = predict( rtree, test_data )
Young
  댓글 수: 1
reem aldaihani
reem aldaihani 2018년 2월 17일
What if we will use cross-validation? This is part of my code: cvmodel=fitcknn(training_Best,class1, 'Distance',@mindistnew, 'NumNeighbors',1, 'KFold',10); cvclass=predict(cvmodel, testing_Best);
and I received this error:
Systems of classreg.learning.partition.ClassificationPartitionedModel class cannot be used with the "predict" command. Convert the system to an identified model first, such as by using the "idss" command.
Could you please help me to fix this ASAP.

댓글을 달려면 로그인하십시오.


Sincloe Brans
Sincloe Brans 2014년 6월 9일
편집: Walter Roberson 2016년 4월 11일
Just do
Yfit = tree([Xnew]);
where tree is your regression or classreg tree and Xnew the new X's to be predicted.

카테고리

Help CenterFile Exchange에서 Gaussian Process Regression에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by