决策树适合大数据么

如果数据量和解释量都很大的话,决策树不如随机森林(即在变量(列)的使用和数据(行)的使用上进行随机化,生成很多分类树,再汇总分类树的结果)。
■网友
当然是可以的,但是用决策树的分类方法对于这么大的数据量肯定是浪费了一定的数据信息。还有决策树的分类方法是一种贪心算法,如果一步拆错,后续的叶子都会有问题,所以会经常性的不稳定,并且容易过拟。使用随机森林的话能有效解决这个方面的问题。
■网友
决策树是广泛用于分类和回归的有效算法。构建决策树通常要求对所有连续变量进行排序,以便决定在何处拆分数据。在处理大数据时,此排序步骤变得时间和内存过高。已经提出了各种技术来克服排序障碍,其可以大致分为两组:执行数据预排序或使用数据的近似概要统计虽然预排序技术更接近标准决策树算法,但它们无法容纳非常大的数据集这些大数据决策树通常以各种方式并行化,以实现大规模学习:原文:R语言 RevoScaleR的大规模数据集决策树模型应用案例
决策树适合大数据么

决策树适合大数据么

?
RevoScaleR中的rxDTree函数使用基于分类的递归分区算法来拟合基于树的模型得到的模型类似于推荐的?包rpart包产生的模型支持分类型树和回归型树。; 与rpart包一样,差异由响应变量的性质决定:因子响应生成分类树; 数字响应生成回归树。
rxDTree算法决策树是广泛用于分类和回归的有效算法。构建决策树通常要求对所有连续变量进行排序,以便决定在何处拆分数据。在处理大数据时,此排序步骤变得时间和内存过高。已经提出了各种技术来克服排序障碍,其可以大致分为两组:执行数据预排序或使用数据的近似概要统计虽然预排序技术更接近标准决策树算法,但它们无法容纳非常大的数据集这些大数据决策树通常以各种方式并行化,以实现大规模学习:
该rxDTree算法是一种具有水平数据并行性的近似决策树算法,专门用于处理非常大的数据集。它使用直方图作为数据的近似紧凑表示,并以广度优先的方式构建决策树。该算法可以在并行设置中执行,例如多核机器或具有主 - 工程体系结构的分布式环境。每个工作者只获得数据观察的一个子集,但可以查看到目前为止构建的完整树。它根据它看到的观察结果构建直方图,它基本上将数据压缩到固定数量的内存。然后将该数据的近似描述发送给具有恒定的低通信复杂度的主设备,而与数据集的大小无关。主设备集成从每个工作人员接收的信息,并确定要拆分的终端树节点以及如何拆分。由于直方图是并行构建的,因此即使对于非常大的数据集也可以快速构建。
使用rxDTree,您可以通过指定直方图的最大二进制数来控制时间复杂度和预测精度之间的平衡。该算法在每个区间中构建具有大致相等数量的观察的直方图,并且将区间的边界作为终端树节点的候选分割。由于仅检查有限数量的分割位置,因此可能选择次优分割点使得整个树与由标准算法构造的树不同。但是,分析表明,并行树的错误率接近串行树的错误率,即使树不相同您可以在直方图中设置箱的数量,以控制准确度和速度之间的权衡:
当仓的数量等于或超过观察数量的整数预测值时,rxDTree算法产生与标准排序算法相同的结果。
一个简单的分类树在之前的文章中,我们将简单的逻辑回归模型拟合为rpart包的驼背数据使用rxDTree ,如下所示:
kyphTree rxDTree(公式=脊柱后凸?年龄+开始+数字,数据=脊柱后凸, cp = 0.01) 数据:脊柱后凸 有效观察数:81 缺失观察数:0 树表示: n = 81 node),split,n,loss,yval,(yprob) *表示终端节点 1)根81 17缺席(0.79012346 0.20987654) 2)开始\u0026gt; = 8.5 62 6缺席(0.90322581 0.09677419) 4)开始\u0026gt; = 14.5 29 0缺席(1.00000000 0.00000000)* 5)开始\u0026lt;14.5 33 6缺席(0.81818182 0.18181818) 10)年龄\u0026lt;55 12 0缺席(1.00000000 0.00000000)* 11)年龄\u0026gt; = 55 21 6缺席(0.71428571 0.28571429) 22)年龄\u0026gt; = 111 14 2缺席(0.85714286 0.14285714)* 23)年龄\u0026lt;111 7 3(0.42857143 0.57142857)* 3)开始\u0026lt;8.5 19 8现在(0.42105263 0.57894737)*


推荐阅读