专栏名称: FlyAI
目录
相关文章推荐
51好读  ›  专栏  ›  FlyAI

「神经网络」能否代替「决策树算法」?

FlyAI  · 掘金  ·  · 2018-03-08 06:07

正文

「神经网络」能否代替「决策树算法」?

这个问题可以从几个维度来分析。但先要说明决策树就是决策树,随机森林和xgboost的性能提升主要是来自于集成学习。所以,我们扩展一下题目把对比延伸到:

单棵决策树,如比较常见的C4.5等

以决策树为基模型的集成学习算法(Ensemble Tree),如随机森林,gradient boosting,和xgboost

神经网络,包括各种深度和结构的网络

我的看法是,单棵决策树的用途已经比较有限了,已经基本被集成决策树代替。而决策树集成模型和神经网络有不同的使用场景,不存在替代一说。给出一个较为通用的看法仅供参考:

如果不强调绝对的解释度,尽量避免单棵决策树,用集成树模型

在集成数模型中,优先推荐使用xgboost

在中小数据集上,优先选择集成树模型。大数据集上推荐神经网络

在需要模型解释度的项目上,优先使用树模型

在项目时间较短的项目上,如果数据质量低(大量缺失值、噪音等),优先使用集成树模型

在硬件条件有限及机器学习知识有限的前提下,优先选择树模型

对于结构化较高的数据,尤其是语音、图片、语言,优先使用神经网络模型(往往其数据量也较大)

用个不恰当的比喻,集成树模型就像Python,而神经网络就像C++。前者简单粗暴效果好,容易上手优点多,后者比较精贵更为复杂但严肃项目上潜力很大。如果你愿意好好学习数据结构、内存分配和要命的指针,C++几乎无所不能。但如果你只打算写个简单的网络爬虫,Python十行就可以搞定。







请到「今天看啥」查看全文