有一句谚语“你不必重新发明轮子”,工具库就是最好的例子。它可以帮助您以简单的方式编写复杂且耗时的功能。在我看来,一个好的项目会使用一些可用的最佳库。
我认为在使用库时,大多数人首先会看到它在 GitHub 上有多少星。在这里,我整理了 7 个最受关注的 Python 库的列表,它们将在您的机器学习开发之旅中为您提供帮助。
这个来自脸书。它提供了一个基于加性模型预测时间序列数据的过程,其中非线性趋势与每年、每周和每天的季节性以及假期效应相吻合。它最适用于具有强烈季节性影响和多个季节历史数据的时间序列。它对缺失数据和趋势变化很稳健,通常可以很好地处理异常值。这个库在 GitHub 上有超过 15k 星。
Github:https://github.com/facebook/prophet
这个来自微软。这是一个统一的深度学习工具包,通过有向图将神经网络描述为一系列计算步骤。在此有向图中,叶节点表示输入值或网络参数,而其他节点表示对其输入的矩阵运算。它允许用户轻松实现和组合流行的模型类型,例如前馈 DNN、卷积网络 (CNN) 和循环网络 (RNN/LSTM)。这个库在 GitHub 上有超过 17k 星。
github:https://github.com/Microsoft/CNTK
在 GitHub 上有 2 万颗星,这个库在这个列表中拥有最多的星。这是一个专为效率和灵活性而设计的深度学习框架。它允许您混合使用符号和命令式编程,以最大限度地提高效率和生产力。在其核心,它包含一个动态依赖调度程序,可以自动并行化符号和命令操作。其上的图形优化层使符号执行速度更快且内存效率更高。它便携、轻便,可扩展到许多 GPU 和机器。
github:https://github.com/apache/mxnet
如果您必须使用遗传编程,那么这对您来说是一个很好的资源。这是一个自动化机器学习库,可使用遗传编程优化机器学习管道。它将通过智能探索数千种可能的管道以找到最适合您的数据的管道来自动化机器学习中最繁琐的部分。它在 GitHub 上拥有超过 8500 颗星。
github:https://github.com/EpistasisLab/tpot
这个是苹果的。该库将帮助您创建简化自定义机器学习模型的开发。您无需成为机器学习专家即可向您的应用程序添加推荐、对象检测、图像分类、图像相似性或活动分类。它包括内置流式可视化等功能以探索您的数据,支持文本、图像、音频、视频和传感器数据等。它拥有超过 10.5k 颗星。
github:https://github.com/apple/turicreate
这是一个自动超参数优化软件框架,专为机器学习而设计。它具有命令式、按运行定义风格的用户 API。得益于 define-by-run API,代码具有高度模块化,用户可以动态构建超参数的搜索空间。您可以将它与任何机器学习或深度学习框架一起使用。它在 GitHub 上拥有超过 7k 颗星。
github:https://github.com/optuna/optuna
在 GitHub 上有超过 6500 颗星,这个库在这个列表中的星数最少。这是一个快速、可扩展、高性能的决策树梯度提升库。它可用于 Python、R、Java 和 C++ 的排名、分类、回归和其他机器学习任务。它支持在 CPU 和 GPU 上进行计算。
github:https://github.com/catboost/catboost