Machine learning 数据挖掘中的叠加

Machine learning 数据挖掘中的叠加,machine-learning,classification,Machine Learning,Classification,我使用naivebayes和SMO等两种分类器对数据进行了训练和测试。现在我需要使用堆叠将它们组合起来。我需要知道如何执行堆叠,以及我的基本级别分类器和元级别分类器应该是什么。听起来你想要的是什么而不是堆叠。在一个集合中,您将使用两个分类器来做出决策,并将这些决策组合起来 堆叠是一个过程,其中一级分类器的输出用作下一级分类器的输入。也就是说,一些分类器的预测是其他分类器的特征。为此,需要使用第一个分类器的输出作为输入对其中一个模型进行重新训练 根据您的具体应用,应该使用哪种分类器。同样地,如何使

我使用naivebayes和SMO等两种分类器对数据进行了训练和测试。现在我需要使用堆叠将它们组合起来。我需要知道如何执行堆叠,以及我的基本级别分类器和元级别分类器应该是什么。

听起来你想要的是什么而不是堆叠。在一个集合中,您将使用两个分类器来做出决策,并将这些决策组合起来

堆叠是一个过程,其中一级分类器的输出用作下一级分类器的输入。也就是说,一些分类器的预测是其他分类器的特征。为此,需要使用第一个分类器的输出作为输入对其中一个模型进行重新训练


根据您的具体应用,应该使用哪种分类器。同样地,如何使用它取决于你使用哪些系统来训练这些分类器。< /P> < P>选择用于堆叠的基级分类器考虑可以在特征子集或数据子集上潜在学习的不同分类器。例如,您的基本级别分类器可以是K-NN、随机林和朴素贝叶斯。对于元级分类器,我们希望选择一个能够根据基本级预测作为特征进行良好学习的分类器。逻辑回归是一个很好的选择

以图书馆为例,我们有:

from sklearn.linear_model import LogisticRegression
from sklearn.neighbors import KNeighborsClassifier
from sklearn.naive_bayes import GaussianNB 
from sklearn.ensemble import RandomForestClassifier
from mlxtend.classifier import StackingClassifier

clf1 = KNeighborsClassifier(n_neighbors=1)
clf2 = RandomForestClassifier(random_state=1)
clf3 = GaussianNB()
lr = LogisticRegression()
sclf = StackingClassifier(classifiers=[clf1, clf2, clf3], 
                          meta_classifier=lr)
有关堆叠分类器和回归器的示例,请参见mlxtend