machine-learning - 使用决策树提升和概念层次结构的重要性

标签 machine-learning artificial-intelligence classification decision-tree ensemble-learning

我有两个问题。 1.为了提高分类器的性能,大多数时候我们会使用bagging或boosting方法。可以使用boosting来提高决策树分类器的准确率吗? 2. 我们计算某些属性的概念层次结构。在数据挖掘之前计算它们的目的是什么?当元数据不可用时,是否存在半监督方法来获取它?

最佳答案

Can we use boosting to improve the accuracy of decision tree classifier?

我假设你所说的决策树是一棵“深度”决策树。根据我的经验,Boosting 可以用作组合深度决策树的集成方法。然而,性能提升非常有限。 Boosting 更适用于“弱”分类器,例如非常浅的决策树或“决策 stumps”(深度 1 决策树)。

下面是我从ESL复制的图- 统计学习的要素 - 第 10 章。在此图中,我们改变树的大小(从 1 个节点到 100 个节点)(弱分类器),并根据提升迭代绘制测试误差。您会发现树桩表现最好。这背后的直觉是,树中的节点越多,变量之间的交互程度就越高。当使用决策树桩时,不允许交互。当节点数为3时,允许二变量交互作用,依此类推。然而,adaBoost 背后的生成函数是加性的,因此节点数 > 2 的 boost 模型会产生不必要的方差,从而导致更高的测试误差。作者建议保留节点数 <= 6。

enter image description here

We calculate concept hierarchies for certain attributes. What is the purpose of calculating them before data mining.

数据集群的动机之一可能是可扩展性。我们以 SVM 分类器为例。标准SVM的训练时间为O(n^3) 。因此,它对于非常大的数据集来说是不可扩展的。解决这个问题的一个想法是添加一个预处理步骤:聚类特征,使每个聚类的质心成为整个聚类的代表特征。参见下图。每个圆圈代表一个簇。现在每个簇的质心被用作特征来进行SVM训练。这大大减少了实例空间。假设您现在有 m集群。那么训练时间就是O(m^3) 。自 m << n , 问题解决了。请参阅here有关此层次聚类 SVM 的详细信息。 enter image description here

Are there any semi-supervised method existing to obtain it when meta data is not available?

参见Agglomerative Clustering对于无监督方法。 还有监督方法,通常用于学习特征空间的层次结构。最先进的是:

我从未使用过任何半监督层次聚类算法,但这里是one我通过谷歌搜索找到的。

关于machine-learning - 使用决策树提升和概念层次结构的重要性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26410001/

相关文章:

matlab - 神经网络输出 :Scaling the output range

visual-c++ - 如果使用minMaxLoc函数如何替换像素值

java - 稀疏数据的离散和连续分类器

machine-learning - 元过滤分类器和手动过滤分类器给出不同的结果

machine-learning - 使用大量数据偏向某一类别来预测类别

machine-learning - 尽管存在缺失值,但仍过度拟合,基于树的学习

machine-learning - 如何故意过度拟合Weka树分类器?

击败机器人的算法可预测地走向奖品

python - Scikit Learn 多标签分类 : ValueError: You appear to be using a legacy multi-label data representation

python - 贝叶斯优化的最大维度(GPyOpt、GPFlow)