How can I use the output of a classifier as the input of other classifier?

2 ビュー (過去 30 日間)
Win
Win 2022 年 7 月 18 日
コメント済み: Win 2022 年 11 月 4 日
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.

採用された回答

Drew
Drew 2022 年 10 月 18 日
編集済み: Drew 2022 年 10 月 18 日
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:
For a third-party MATLAB toolbox for stacking, see Ensemble Learning Toolbox

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeClassification Ensembles についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by