How can I use the output of a classifier as the input of other classifier?
2 views (last 30 days)
Show older comments
Hi! I have a dataset that contains 8 columns: 7 feature columns and 1 column indicating each row's class. There are 4 classes: A, B, C, and D. However, classes B and C are not well separated in the classification (I use Classification Learner in MATLAB), so the accuracy is stuck at 60%. If I combine B and C and then do a classification of the A, B+C, and D (so total 3 classes), the accuracy is 80%. However, I still need to separate the B and C. I thought that maybe I can build a classifier that classifies A, B+C, and D classes first, and then I will extract the predicted B+C class, and make another classifier that classifies B and C from the output of the former classifier. Is this logic working and executable in MATLAB? Thank you so much in advance.
0 Comments
Accepted Answer
Drew
on 18 Oct 2022
Edited: Drew
on 18 Oct 2022
Using the output of one classifier as the input of another classifier is called stacking. Stacking, bagging, and boosting are all methods for combining classifiers. The Classification Learner app does not currently support stacking. The Classification Learner app does support bagging and boosting ensemble methods, so it is recommended to try those, if you have not already, by trying "All Ensembles" in the Classification Learner App.
For examples of stacking at the MATLAB commandline, see:
More Answers (0)
See Also
Categories
Find more on Classification Ensembles in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!