我使用两个分类器(如naivebayes和SMO)训练和测试了数据。现在我需要使用stack来组合它们。我需要知道如何执行堆叠以及应该是我的基本级别分类器和元级别分类器。
答案 0 :(得分:2)
听起来你想要的是ensemble learning而不是堆叠。在整体中,您将使用两个分类器来做出决策并将这些决策结合起来。
堆叠是一个过程,其中一级分类器的输出用作下一级别的输入。也就是说,某些分类器的预测是其他分类器的特征。为此,您需要重新训练其中一个模型,并将第一个分类器的输出作为输入。
应该使用哪个分类器取决于您的具体应用。同样,如何做到这一点取决于你用来训练这些分类器的系统。
答案 1 :(得分:0)
要选择用于堆叠的基本级别分类器,请考虑可能在特征子集或数据子集上学习的不同分类器。例如,您的基本级别分类器可以是K-NN,随机森林和朴素贝叶斯。对于元级别分类器,我们希望选择一种基于基本级别预测作为特征的分类器。 Logistic回归是一个很好的候选者。
以mlxtend库为例,我们有:
php public/index.php
有关堆叠分类器和回归量的示例,请参阅mlxtend documentation page。