机器学习框架指南

举报
一颗小树x 发表于 2021/06/30 18:20:53 2021/06/30
【摘要】 本文介绍机器学习的框架指南,基本是免费和开源的。包括:通用机器学习、自动化机器学习、集成方法、不平衡的数据集、随机森林、极限学习机、内核方法、梯度提升等。文章结构分为“目录版”和“简介版”。目录版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 集成方法


4 不平衡的数据集

  • 不平衡学习- 使用各种技术执行欠采样和过采样的模块
  • 不平衡算法- 基于 Python 的算法实现,用于学习不平衡数据。


5 随机森林


6 极限学习机


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  通用机器学习

一个简单高效的预测数据分析工具;基于 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是基于 ipython 的环境,用于以一致和可重复的方式进行数据驱动的研究。

modAL 是 Python3 的主动学习框架,设计时考虑了模块化、灵活性可扩展性。它建立在 scikit-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 许可下分发的。

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 集成方法


4 不平衡的数据集

  • 不平衡学习- 使用各种技术执行欠采样和过采样的模块
  • 不平衡算法- 基于 Python 的算法实现,用于学习不平衡数据。


5 随机森林


6 极限学习机


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 - 微小的梯度提升树
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。