8大Python机器学习库

来自:Python大咖谈(微信号:pythoniao),作者:呆鸟


呆鸟说:“工欲善其事,必先利其器,想玩转 Python 数据科学,先要了解 Python 数据科学都有哪些好库。”


在正式开始本文之前,先推荐一下崔大(崔庆才)十一刚刚发布的深度学习框架 ModelZoo!


ModelZoo 贡献者:7;优化次数:22;Star:38


项目网址:

https://github.com/ModelZoo/ModelZoo


ModelZoo 是基于 TensorFlow Eager 模式和 Keras 构建的 Python 深度学习框架,可以更加方便搭建深度学习模型,提升模型开发效率。该框架已经搭建好了训练和预测模型的基本框架,配置了默认损失函数和优化器、模型保存、Tensor Summary 的记录、模型 Early Stop 等组件,也非常方便扩展和维护。另外,后期 ModelZoo 还会进一步集成 NLP、CV 等领域的热门模型,为广大深度学习开发者提供便利。


希望大家多多支持国产,本来这篇是写机器学习的,不过呆鸟就在这里先给崔大做个广告啦,还请大家去 GitHub 给 ModelZoo 多加几颗小星星吧。


下面开始正文



本文是介绍顶级 Python 机器学习、人工智能、深度学习和数据科学库系列的第一篇文章。


Python 在机器学习、人工智能、深度学习和数据科学等领域越来越火,根据 Builtwith.com 的调研显示45%的技术公司选择 Python 来完成人工智能与机器学习的任务。


正因如此,我们决定推出一系列介绍各领域顶级 Python 库文章:


  • 8大Python机器学习库

  • X大Python人工智能库 - 即将推出,敬请期待

  • X大Python深度学习库 - 即将推出,敬请期待

  • X大Python数据科学库 - 即将推出,敬请期待


我们的榜单其实非常主观,有些库可以纳入多个领域,比如, 本文中有 Keras,但却把 TensorFlow 放到了深度学习一文中。这是因为 Keras 和 SKlearn 一样是终端用户常用的库,而 TensorFlow 则更适于搞研发的人和机器学习开发者使用。



8大 Python 机器学习库,按 Github 贡献者、优化次数和 Star 数量排名


本文使用的 GitHub 数据截至2018年10月3日。


1. Scikit-learn 贡献者:1175;优化次数:23301;Star:30867


Scikit-learn 是构建于 Numpy、SciPy 和 Matplotlib 之上的 Python 机器学习库。Scikit-learn 提供了简单易用、高能高效的数据挖掘与数据分析工具。SKLearn 支持多种数据场景,只要简单学习即可上手,还支持代码复用。


2. Keras 贡献者:726;优化次数:4818;Star:34066


Keras 是用 Python 编写的神经网络的高阶 API,支持 TensorFlow、CNTK 和 Theano 。Keras 的理念是实现快速开发,以最快的开发速度将脑子里的想法转化为实际成果,是做好研究工作的关键。


3. XGBoost 贡献者:319,优化次数:3454;Star:13630


XGBoost 是为了更高效、灵活及移植而优化的分布式梯度提升库。使用机器学习算法中的梯度提升框架。XGBoost 提供了并行树提升方法(也叫GBDT-梯度提升决策树、GBM-梯度提升机),可以快速、准确地解决很多数据科学问题。XGBoost 的代码还可以在主流分布式环境(Hadoop、SGE、MPI)下运行,借助分布式技术,XGBoost 可以处理十亿量级的数据。


4. StatsModels 贡献者:162;优化次数:10837;Star:3275


StatsModels 填补了 SciPy 在统计计算的空白,提供了包括描述性统计、评估和推断等操作在内的统计模型。


5. LightGBM 贡献者:91;修改次数:1272; Star:6736


LightGBM 是基于决策树算法构建的高性能、快速、分布式梯度提升框架。用于处理秩、分类等机器学习任务。LightGBM 是微软 DMTK 项目的组成部分。


6. CatBoost 贡献者:77;修改次数:3304;Star:3241


CatBoost 是基于决策树的梯度提升方法构建的机器学习库。CatBoost 的优势在于:与其他 GBDT 库对比,它的质量超级好;类别推断的速度极快;支持数字型与类别型特征;集成了数据可视化工具。


7. PyBrain 贡献者:32;优化次数:992;Star:2598


PyBrain 是模块化的 Python 机器学习库。它的目标是提供灵活、易用、强大的机器学习算法,并使用多种预定义的环境来测试和比较用户自己编制的算法。


8. Eli5 贡献者:6;优化次数:929;Star:932


Eli5 是协助开发者调试机器学习分类器,并解释预测的 Python 库。Eli5 支持 Scikit-learn、XGBoost、LightGBM、Lightning 和 SKLearn-crfsuite。

推荐↓↓↓
Python编程
上一篇:浅谈 Pandas 样式 下一篇:用Python快速分析和预测股票价格