机器学习框架指南
【摘要】 本文介绍机器学习的框架指南,基本是免费和开源的。包括:通用机器学习、自动化机器学习、集成方法、不平衡的数据集、随机森林、极限学习机、内核方法、梯度提升等。文章结构分为“目录版”和“简介版”。目录版1 通用机器学习scikit-learn - Python 中的机器学习Shogun - 机器学习工具箱xLearn - 高性能、易于使用且可扩展的机器学习包可重复实验平台 (REP) - 人类机...
本文介绍机器学习的框架指南,基本是免费和开源的。
包括:通用机器学习、自动化机器学习、集成方法、不平衡的数据集、随机森林、极限学习机、内核方法、梯度提升等。
文章结构分为“目录版”和“简介版”。
目录版
1 通用机器学习
- scikit-learn - Python 中的机器学习
- Shogun - 机器学习工具箱
- xLearn - 高性能、易于使用且可扩展的机器学习包
- 可重复实验平台 (REP) - 人类机器学习工具箱
- modAL - Python3的模块化主动学习框架
- Sparkit-learn - PySpark + Scikit-learn = Sparkit-learn
- mlpack - 一个可扩展的 C++ 机器学习库(Python 绑定)
- dlib - 用于在 C++(Python 绑定)中制作真实世界机器学习和数据分析应用程序的工具包
- MLxtend - Python 数据分析和机器学习库的扩展和帮助模块
- tick - 统计学习模块,特别强调时间相关建模
- sklearn-extensions - scikit-learn 小扩展的综合包
- civisml-extensions - 来自 Civis Analytics 的 scikit-learn 兼容估计器
- scikit-multilearn - python 的多标签分类
- tslearn - 专用于时间序列数据的机器学习工具包
- seqlearn - seqlearn 是 Python 的序列分类工具包
- pystruct - 简单的 Python 结构化学习框架
- sklearn-expertsys - 用于 scikit 学习的高度可解释的分类器,生成易于理解的决策规则而不是黑盒模型
- skutil - 一组 scikit-learn 和 h2o 扩展类(以及 Python 的插入符类)
- sklearn-crfsuite - 受 scikit-learn 启发的 CRFsuite API
- RuleFit -规则拟合的实现
- metric-learn - Python 中的度量学习算法
- pyGAM - Python 中的广义加性模型
- luminol - 异常检测和关联库
2 自动化机器学习
- TPOT - 自动机器学习工具,使用遗传编程优化机器学习管道
- auto-sklearn - 是一个自动化机器学习工具包,是 scikit-learn 估算器的替代品
- MLBox - 一个强大的自动化机器学习 python 库。
3 集成方法
- ML-Ensemble - 高性能集成学习
- brew - Python 集成学习 API
- Stacking - 用 Python 编写的简单而有用的堆栈库。
- stacked_generalization - 用于机器学习堆叠泛化的库。
- vecstack - 用于堆叠的 Python 包(机器学习技术)
4 不平衡的数据集
5 随机森林
- rpforest - 随机投影树的森林
- 随机森林聚类- 使用随机森林的无监督聚类
- sklearn-random-bits-forest - 由 (Wang et al., 2016) 编写的随机位森林程序的包装器
- rgf_python - 正则化贪婪森林的 Python 包装器
6 极限学习机
- Python-ELM - Python 中的极限学习机实现
- Python 极限学习机 (ELM) - 一种用于分类/回归任务的机器学习技术
- hpelm ![alt text][gpu] - 极限学习机(快速随机神经网络)的高性能实现。
7 内核方法
- pyFM - python 中的分解机
- fastFM - 分解机库
- tffm - 任意阶分解机的 TensorFlow 实现
- LiquidSVM - SVM 的实现
- scikit-rvm - 使用 scikit-learn API 的相关向量机实现
8 梯度提升
- XGBoost ![alt text][gpu] - 可扩展、便携和分布式梯度提升
- LightGBM ![alt text][gpu] - 一种快速、分布式、高性能的微软梯度提升
- CatBoost ![alt text][gpu] - Yandex 的决策树库上的开源梯度提升
- InfiniteBoost - 使用梯度下降构建无限集成
- TGBoost - 微小的梯度提升树
简介版
1 通用机器学习
- scikit-learn - Python 中的机器学习
一个简单高效的预测数据分析工具;基于 NumPy、SciPy 和 matplotlib 构建 ;开源,可商用 - BSD 许可。
- Shogun - 机器学习工具箱
Shogun 是一个开源机器学习库,提供了广泛的高效统一的机器学习方法。
- 支持多种语言(Python、Octave、R、Java/Scala、Lua、C#、Ruby 等)和平台(Linux/Unix、MacOS 和 Windows)并与其科学计算环境集成。
- 通过浏览器在云端试用 Shogun 。
- 高效的实现(从标准到尖端算法),C++ 中的现代软件架构。
- 多种数据表示、算法类和通用工具的轻松组合,用于数据管道的快速原型设计。
- 免费软件、基于社区的开发和机器学习教育。
- GPLv3 许可证并致力于 BSD 兼容性。
- xLearn - 高性能、易于使用且可扩展的机器学习包
xLearn 是一个高性能、易于使用、可扩展的机器学习包,包含线性模型 (LR)、分解机 (FM) 和场感知分解机 (FFM),所有这些都可以用于解决大型- 规模机器学习问题。xLearn 对于解决大规模稀疏数据的机器学习问题特别有用。许多现实世界的数据集处理高维稀疏特征向量,如推荐系统,其中类别和用户的数量在数百万的数量级。
- 可重复实验平台 (REP) - 人类机器学习工具箱
REP是基于 ipython 的环境,用于以一致和可重复的方式进行数据驱动的研究。
modAL 是 Python3 的主动学习框架,设计时考虑了模块化、灵活性和可扩展性。它建立在 scikit-learn 之上,让我们可以几乎完全自由地快速创建主动学习工作流程。此外,我们可以使用定制的解决方案轻松更换零件,从而轻松设计新颖的算法。
- Sparkit-learn - PySpark + Scikit-learn = Sparkit-learn
Sparkit-learn 旨在在 PySpark 上提供 scikit-learn 功能和 API。该库的主要目标是创建一个接近 sklearn 的 API。
- mlpack - 一个可扩展的 C++ 机器学习库(Python 绑定)
mlpack是一个直观、快速且灵活的 C++ 机器学习库,可以绑定到其他语言。它旨在成为 LAPACK 的机器学习类比,旨在实现广泛的机器学习方法和功能,作为机器学习研究人员的“瑞士军刀”。除了强大的 C++ 接口,mlpack 还提供命令行程序、Python 绑定、Julia 绑定、Go 绑定和 R 绑定。
- dlib - 用于在 C++(Python 绑定)中制作真实世界机器学习和数据分析应用程序的工具包
Dlib 是一个现代 C++ 工具包,包含机器学习算法和工具,用于在 C++ 中创建复杂的软件以解决现实世界的问题。
- MLxtend - Python 数据分析和机器学习库的扩展和帮助模块
Mlxtend(机器学习扩展)是一个 Python 库,包含用于日常数据科学任务的有用工具。
- tick - 统计学习模块,特别强调时间相关建模
tick是一个用于统计学习的 Python 3 模块,特别强调与时间相关的建模。它是在 3-Clause BSD 许可下分发的。
- sklearn-extensions - scikit-learn 小扩展的综合包
Scikit-Learn 扩展 (sklearn_extensions) 是scikit-learn扩展的单一源存储库。它旨在补充 scikit-learn 在添加新预测器和模块方面较慢、更谨慎的方法,并为可能不符合这些标准的 sklearn 兼容模块提供单独的 pip 可安装源。
- civisml-extensions - 来自 Civis Analytics 的 scikit-learn 兼容估计器
- scikit-multilearn - python 的多标签分类
- tslearn - 专用于时间序列数据的机器学习工具包
- seqlearn - seqlearn 是 Python 的序列分类工具包
- pystruct - 简单的 Python 结构化学习框架
- sklearn-expertsys - 用于 scikit 学习的高度可解释的分类器,生成易于理解的决策规则而不是黑盒模型
- skutil - 一组 scikit-learn 和 h2o 扩展类(以及 Python 的插入符类)
- sklearn-crfsuite - 受 scikit-learn 启发的 CRFsuite API
- RuleFit -规则拟合的实现
- metric-learn - Python 中的度量学习算法
- pyGAM - Python 中的广义加性模型
- luminol - 异常检测和关联库
2 自动化机器学习
- TPOT - 自动机器学习工具,使用遗传编程优化机器学习管道
TPOT 将通过智能探索数以千计的可能管道来为您的数据找到最佳管道,从而自动化机器学习中最乏味的部分。
- auto-sklearn - 是一个自动化机器学习工具包,是 scikit-learn 估算器的替代品
- MLBox - 一个强大的自动化机器学习 python 库。
MLBox 是一个强大的自动化机器学习 python 库。它提供以下功能:
- 快速读取和分布式数据预处理/清理/格式化
- 高度稳健的特征选择和泄漏检测
- 高维空间中精确的超参数优化
- 最先进的分类和回归预测模型(深度学习、堆叠、LightGBM 等)
- 带有模型解释的预测
详情请参考官方文档
3 集成方法
- ML-Ensemble - 高性能集成学习
- brew - Python 集成学习 API
- Stacking - 用 Python 编写的简单而有用的堆栈库。
- stacked_generalization - 用于机器学习堆叠泛化的库。
- vecstack - 用于堆叠的 Python 包(机器学习技术)
4 不平衡的数据集
5 随机森林
- rpforest - 随机投影树的森林
- 随机森林聚类- 使用随机森林的无监督聚类
- sklearn-random-bits-forest - 由 (Wang et al., 2016) 编写的随机位森林程序的包装器
- rgf_python - 正则化贪婪森林的 Python 包装器
6 极限学习机
- Python-ELM - Python 中的极限学习机实现
- Python 极限学习机 (ELM) - 一种用于分类/回归任务的机器学习技术
- hpelm ![alt text][gpu] - 极限学习机(快速随机神经网络)的高性能实现。
7 内核方法
- pyFM - python 中的分解机
- fastFM - 分解机库
- tffm - 任意阶分解机的 TensorFlow 实现
- LiquidSVM - SVM 的实现
- scikit-rvm - 使用 scikit-learn API 的相关向量机实现
8 梯度提升
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)