R - 如何创建堆栈器集合?

时间:2015-04-18 13:44:06

标签: r machine-learning statistics ensemble-learning

我需要创建一个堆栈器集合,我是否将每个分类器的精度输出的每个汇总百分比与新的分类器相结合

NBayes

Result = 0.61% accuracy

K-NN(k = 5)

Result = 0.63% accuracy

K-NN(k = 10)

Result = 0.64% accuracy

决策树

Result = 0.60% accuracy

逻辑回归

Result = 0.62% accuracy

将这5个百分比分类?

还是我需要结合许多预测的输出 例如像桌子一样:

NB   k = 5  k = 10  dectree   Logistic   TrueLabel    
bob    1      1      bob       FALSE       bob
bob    2      2      john      TRUE        john
bob    1      1      bob       TRUE        bob

如果这种方式那么输出是不同的那么重要I.E它们应该是bob还是john而不是true或false还是1或2?

我应该使用什么分类器将它们组合起来?

1 个答案:

答案 0 :(得分:1)

为了创建堆叠整体,您需要使用在问题结尾处创建的表格,即:

NB   k = 5  k = 10  dectree   Logistic   TrueLabel    
bob    1      1      bob       FALSE       bob
bob    2      2      john      TRUE        john
bob    1      1      bob       TRUE        bob

的答案应该是bob还是john而不是true或false或者1或2?,这取决于您将用于组合各个模型的模型。 r中的大多数模型使用的因素都可以保留它们。确保您的第一列和第二列(具有数值)也被视为因子,否则它们将被视为数字而您不希望这样(许多模型将创建虚拟变量,如果您的列是数字,那么这不会发生)。总结上述所有列的使用因子,但是请阅读组合模型的文档(稍后有关此信息)以查看它是否接受因素作为输入。

关于您需要使用什么模型来组合输入的另一个问题,答案是:'您喜欢的任何模型'。通常的做法是使用简单的逻辑回归,但这并不能阻止您选择任何您喜欢的东西。我们的想法是使用您的原始变量(您用于训练单个模型的变量)加上您创建的上表(即单个模型的预测),并查看新精度是否优于单个模型。在新的组合模型中,您仍然可以使用向前或向后选择等特征消除技术来删除无关紧要的变量。

我希望这能回答你的问题。