水平和垂直合奏有什么区别?

数据挖掘 机器学习 Python 预测建模 合奏
2022-02-16 10:41:49

我正在研究进行模型集成的不同方法,并且遇到了水平和垂直混合/集成术语,但定义不明确。

我的问题是:

  1. 水平混合和垂直混合有什么区别
  2. 在哪些情况下哪个更好
  3. 他们有任何python实现吗?
1个回答

我认为这些术语引用率最高的来源是具有分类深度表示的水平和垂直集成(Xe, Xu, Chuang 2013)。那将是获得第一个问题的技术答案的最佳场所。出于搜索的目的,您还可以将“Stacking”视为 Vertical ensembling 的同义词。我将在这里提供一些直觉:

  1. 为了过度简化,集成是根据其他或中间建模结果的结果向数据中添加新内容。在这种情况下,“水平”和“垂直”是对您在数据集中添加此内容的位置的引用。水平集成从一个模型(例如预测分类)中获取结果,并将其作为新列附加到您的数据中。在二进制分类器结果的情况下,这将有效地添加一个列,上面写着“一个不同的模型将此行分类为 1 或 0(A 或 B,红色或绿色等)”。最终模型将在自己的过程中使用此信息作为新功能。垂直集成添加了由模型生成的新预测值(作为行,如果您想考虑数据框范式)。要清楚,分类,而垂直集成将模型预测的内容添加为

考虑一个试图预测图像是“猫”还是“狗”的问题。根据行中的特征,模型可以说“猫”,当水平集成添加不同分类器的结果时,它会被添加到该行。可以将其视为图像是猫的额外投票。或者,垂直集成可以从外部模型添加新信息,以预测图像是“猫”或“狗”的概率,可能是元组:(0.73, 0.27)。

  1. 好好阅读这篇文章,看看您何时可能更喜欢其中一种,以及两种情况下出现的统计问题。和往常一样,记住没有免费的午餐定理

  2. 集成可以指代多种事物。Boosting 方法可以被认为是集成的,因为这些算法正在进行中间计算,以查看哪些学习者表现更好,以便在建模中转移权重。这些方法内置在算法本身中,所以我会研究scikit learn它的集成方法以了解正在发生的事情。但是,对于您的具体问题,您可以查看 Github 存储库以进行集成学习