梯度提升树的图书馆

时间:2012-01-27 15:30:56

标签: python c machine-learning

你知道一个很好的梯度提升树机学习库吗?

优选:

  • 具有良好的算法,如AdaBoost,TreeBoost,AnyBoost,LogitBoost等
  • 具有可配置的弱分类器
  • 能够进行分类和预测(回归)
  • 包含各种允许的信号:数字,类别或自由文本
  • C / C ++或Python
  • 开源

到目前为止,我发现http://www.multiboost.org/home看起来不错。但我想知道是否还有其他图书馆?

5 个答案:

答案 0 :(得分:14)

如果您正在寻找python版本,最新版本的scikit-learn会使用梯度提升回归树进行分类和回归(docs)。

它类似于R的gbm包 - 对于(最小二乘)回归,gbm更快,因为scikit-learn的实现在测试时更快,而且你的功能数量更多> 1000.

答案 1 :(得分:3)

这些并不一定符合您的所有偏好,但也有:

  • Treenet Jerome Friedman最初实施的商业化和扩展。不是开源但我们发现它工作得很好
  • R gbm package专门用于渐变提升树。

答案 2 :(得分:2)

我会推荐xgboost(在提出问题时不存在),这是一个开源的R / python包。

它是目前存在的最快的梯度增强树方法之一,允许回归/分类,支持稀疏矩阵...

答案 3 :(得分:0)

我个人更喜欢使用python子进程模块运行weka(这是java)。但是我的同事经常使用:

  • orange - 推荐给我作为Python的最佳机器学习工具包。
  • opencv - 这是C ++,但有python绑定。该库最初是为计算机视觉开发的,但实现了许多ML算法(包括boosting)。

答案 4 :(得分:0)

这个问题已经很老了,鉴于LightGBM实现了各种基于树的学习算法的最新发展,我以前关于xgboost的答案似乎是不合时宜的:

  • GBDT,梯度提升决策树
  • DART,或辍学遇到多个加性回归树
  • GOSS或基于梯度的单边采样
  • 随机森林

它也有一个Python API