Classification learner is slow to train other than Decision Tree

7 visualizaciones (últimos 30 días)
Ismat Mohd Sulaiman
Ismat Mohd Sulaiman el 26 de Feb. de 2021
Editada: Prince Kumar el 25 de Nov. de 2021
I have 19MB size file with binary predictor.
I've fit several models (kNN, tree, svm, NB) using the Live editor and took between several seconds to less than 30 seconds.
When I try to use classification learner and train using decision tree, it took me about 60 seconds. But when I try other classifier, I had to stop the training after 60 minute (still didn't complete) and stopping also took a very long time (I had to close the application to stop it).
What could be the problem?

Respuestas (1)

Prince Kumar
Prince Kumar el 25 de Nov. de 2021
Editada: Prince Kumar el 25 de Nov. de 2021
Hi,
There are two important things to take care here :
  1. Please check whether k-fold cross validation is happening or not in Classification learner app as k-fold cross validation takes time to execute. The app by default performs 5 fold cross validation.
  2. Please make sure that the model parameters in Classification learner app and model script are same. Different set of parameters take different amount of time to train.
If we keep these two things in mind, then training approximately takes same amount of time. Please have look at code below for better understanding
tic
SVMModel = fitcsvm(C,B,'KernelFunction','linear',...
'KernelScale', 0.23, ...
'KernelOffset', 0, ...
'Standardize', 1, ...
'Solver', 'SMO', ...
'NumPrint', 0, ...
'Verbose', 1);
toc
tic
CVSVMModel = crossval(SVMModel,'KFold',5);
toc

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by