XGBoost vs Deep Learning

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XGBoost vs Deep Learning相关的知识,希望对你有一定的参考价值。

参考技术A XGBoost 是一个经典的用于结构化数据,有监督学习的的框架。 而这几年深度学习的越来越热, Keras 也能够处理结构化数据用于预测。 那么现在在处理 Regression 这类问题时,是选传统的 XGBoost 还是选 Deeplearn 呢, Mark Ryan 的这篇文章,对二者做了一个比较, 非常有借鉴意义。

作者使用了多伦多市电车晚点的数据, 构建了比较平台, 然后分别用 XGBoost 和 Keras 构建了模型, 并进行预测。 详细内容请参考原文, 这里直接给结论。

XGBoost 在准确性, recall ,假阴性 (预测不迟到,结果迟到了)都明显高于DL (Deep Learning)。由于假阴性在这次预测中是最重要的指标, 所以XGBoost 的优势格外明显(1200 vs 3500)。 之所以假阴性比较重要, 是因为,如果预测电车不晚点,结果晚点了, 那么回造成用户迟到; 反之会造成用户使用其他交通方式。 先比较而言, 迟到的损失更大。

平局。

平局。 Kears 构建模型复杂一些, XGBoost 数据预处理要复杂一些。

Kears 胜出。 原因是 XGBoost 只能处理结构化数据, 如果数据中有一栏是文本, 那么XGBoost 就不好用了。 不过就本例而言, 这个问题并不存在。

本文参考自 Cage Match: XGBoost vs. Keras Deep Learning

深度学习Deep Learning训练错误

错误提示:Check failed: axis_index < num_axes() (1 vs. 1) axis 1 out of range for 1

这里目前出现在实践过程中,有两方面会引起此错误,若各位大佬有其他的发现,多多交流哈。


第一种:

解决办法:在Layer层的设置上,去看一下是不是你的label和data放反了,如下图:


第二种:
网络结构中,使用ImageData作为网络数据输入,其中包含独立的concat层,会出现此错误。
解决方案:将concat层注掉即可。

以上是关于XGBoost vs Deep Learning的主要内容,如果未能解决你的问题,请参考以下文章

Windows下快速安装Xgboost(无需Git或者VS)

如何调用xgboost python

xgboost python windows编译问题

Little Tiger vs. Deep Monkey(01背包)

Microsoft Dynamics 365 CRM vs Salesforce: A deep-dive comparison

XCPC真题:Little Tiger vs. Deep Monkey|Greatest Common Divisor|Array Merge