0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

十个最受欢迎的Python机器学习库盘点

ml8z_IV_Technol 来源:未知 作者:工程师曾玲 2018-10-02 08:47 次阅读

Python 超越许多其他编程语言,成为机器学习领域中最热门最常用的编程语言之一。Python 在众多开发者中如此受追捧的原因之一便是其拥有大量的与机器学习相关的开源框架以及工具库,本文介绍了其中最受欢迎的10大Python库。

随着人工智能技术的发展与普及,Python 超越了许多其他编程语言,成为了机器学习领域中最热门最常用的编程语言之一。有许多原因致使 Python 在众多开发者中如此受追捧,其中之一便是其拥有大量的与机器学习相关的开源框架以及工具库。根据 builtwith.com 的数据显示,45% 的科技公司都倾向于使用 Python 作为人工智能与机器学习领域的编程语言。

使 Python 如此受欢迎主要由于:

Python 从设计之初就是为效率而生,以使项目从开发到部署再在运维都能保持较高的生产力;

坊间有大量的基于 Python 的开源框架及工具库;

Python 易于上手,可以说是编程小白的福音;

相比起 C、JavaC++ 来讲,Python 的语法更简单,更高级,只需要更少行数的代码便能实现其他编程语言同样的功能;

Python 的跨平台能力;

正是由于 Python 简单易用以及高开发效率,吸引了大量的开发者为其创建更多新的机器学习工具库;而又因为大量的机器学习工具库的出现,使得 Python 在机器学习领域变得如此流行。

下面我们就来探索一下机器学习领域中最受欢迎的十大框架或工具库:

Tensorflow

如果你正在使用 Python 来从事机器学习项目,那么你一定听说过其中一个著名的框架——Tensorflow。Tensorflow 框架主要由 Google 大脑团队开发,主要用于深度学习计算。几乎所有的 Google 机器学习应用都使用了它。比如在使用 Google 语音搜索或者 Google 相册时,你其实都是在间接地在使用 Tensorflow 所构建的模型。

Tensorflow 把神经网络运算抽象成运算图(Graph),一个运算图中包含了大量的张量(Tensor)运算。而张量实际上就是 N 维数据的集合。神经网络运算的本质是通过张量运算来拟合输入张量与输出张量之间的映射关系。

并行运算是 Tensorflow 的主要优势之一。也就是说你可以通过代码设置来分配你的 CPUGPU 计算资源来实现并行化的图运算。

Tensorflow 框架中所有的工具库都是用 C 或者 C++ 来编写,但它提供了用 Python 来编写的接口封装。事实上,你用 Python 编写的神经网络模型最终会调用基于 C 和 C++ 编写的 Tensorflow 内核来执行运算。

Tensorflow 使用了类似 XLA(Accelerated Linear Algebra / 加速线性代数)等技术对运算过程进行过优化,以保证其能够灵活地调用计算资源的同时保持高效的运算速度。

Keras

Keras 被认为是最酷的 Python 深度学习库之一。如果你是深度学习开发方面的新手,那么非常建议你使用它。它提供了非常简明的机制来表达神经网络结构。它也提供了许多非常棒的工具用于神经网络模型的编译、数据的处理、以及网络结构的可视化等等。

Keras 本质上是对 Tensorflow、Theano 等基础框架作进一步的封装,以提供统一的 API 来简化神经网络的构建与训练。如果你打算以 Tensorflow 作为后端基础框架,则必须遵循以下架构图:

再有,Keras 提供了许多预处理的数据集,比如 MNIST,和预训练的模型,比如 VGG、Inception、 ResNet 等等。

Theano

Theano 是一个用于多维数组计算的 Python 运算框架。Theano 的工作原理与 Tensorflow 相似,但要比 Tensorflow 低效。因此它不适用于生产环境。

此外,Theano 还可以用于与 Tensorflow 类似的分布式或并行环境。

PyTorch

PyTorch 是最大的深度学习库,允许开发人员通过加速 GPU执行张量计算,创建动态计算图,并自动计算梯度。 除此之外,PyTorch 还提供丰富的 API,用于解决与神经网络相关的应用问题。

这个深度学习库基于Torch,这是一个用 C 语言实现的开源机器库,以 Lua 语言作了封装。与 Tensorflow 的区别在于 Tensorflow 用的是 “静态计算图” 的概念,而 PyTorch 用的是 “动态计算图” 的概念。最直观的感受是,用 PyTorch 来编写的神经网络模型代码更像常见的 Python 代码。PyTorch 是在 2017 年推出的,自成立以来,该库越来越受欢迎并吸引了越来越多的机器学习开发人员。

LightGBM

Gradient Boosting 是最好和最受欢迎的机器学习库之一,它通过使用重新定义的基本模型和决策树来帮助开发人员构建新算法。 因此,有专门的库被设计用于快速有效地实现该方法。这些库包括 LightGBM, XGBoost, 和 CatBoost。这些库互为竞争对手,同样使用了几乎相同的思路来解决一个共同问题。这些库都提供了高度可扩展,优化和快速的梯度增强实现,使其在机器学习开发人员中很受欢迎。 因为大多数机器学习开发人员通过使用这些算法赢得了机器学习竞赛。

Numpy

Numpy 是公认的最受欢迎的 Python 机器学习库之一。Tensorflow 以及其他的一些框架内部都使用了 Numpy 来对张量进行多种操作。数组接口是 Numpy 最佳及最重要的功能。这个接口可以用于把图像、音频、以及其他二进制流数据表示为多维实数数组。为了把这个库应用到机器学习中,掌握 Numpy 的操作对于开发者而言意义重大。

Pandas

Pandas 是一个 Python 机器学习库,它提供了各种高级的工具用于进行数据分析。其中一项了不起的功能便是它可以用一两行代码就能实现复杂的数据操作。Pandas 有许多内置的方法用于分组统计、合并数据、数据筛选、以及时间序列操作。所有的这些操作都有出色的性能表现。因此,使用 Pandas 通常用于数据挖掘任务。

SciPy

SciPy 是一个应用开发者与工程师们使用的机器学习库。然而,你需要知道的是 SciPy 库与 SciPy-Stack 的区别。SciPy 库是 SciPy-Stack 的一个子集。SciPy 库包含了优化器、线性代数、积分、插值、快速傅立叶变换、信号和图像处理、统计等子模块。所有子模块中的函数都有完整的文档说明,使用方便。

SciPy 库的主要功能是基于 Numpy 来实现的,它的数组操作就是使用了 Numpy 的数组操作。

Scikits_Learn

Scikits-learn,又称为 sk-learn,是一个基于 Numpy 与 SciPy 的 Python 库。Sk-learn 被认为是用于处理复杂数据的最优秀的机器学习库之一。它包含了大量用于实现传统机器学习和数据挖掘任务的算法,比如数据降维、分类、回归、聚类、以及模型选择等。

随着时间的发展,sk-learn 不断演进。其中包括它加入了交叉验证功能,提供了使用多个衡量指标的能力。许多的训练方法都得到了一定的改进,如逻辑回归、近邻算法(KNN)等。

Eli5

通常,在机器学习任务中遇到的难题是模型的预测结果不准确。而用 Python 构建的 Eli5 机器学习库可以帮助攻克这个难题。它为现有的机器学习框架提供了若干内置的支持,比如模型数据可视化、模型调试、算法跟踪等,使得机器学习模型对于开发者而言不再是一个黑盒子。

Eli5 支持 sk-learn、XGBoost、LightGBM、lightning、sklearn-crfsuite 等机器学习框架或机器学习库。

这些框架与库都能够实现以上提到的可视化、模型调试、算法跟踪等任务。

结语:

以上便是机器学习专家们与数据科学家们普遍认可的十大机器学习框架或工具库。所有的这些框架与库都值得看一看、试一试。

当然,除了以上提到的框架与工具库外,还有很多其他的机器学习库也同样值得关注。比如 Scikit-image 就是同属于 Scikit 系列的另一个侧重于图像领域的工具库。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10824

    浏览量

    211095
  • 机器学习
    +关注

    关注

    66

    文章

    8373

    浏览量

    132394
  • python
    +关注

    关注

    55

    文章

    4778

    浏览量

    84439

原文标题:盘点:Python 机器学习库 Top 10,你值得拥有!

文章出处:【微信号:IV_Technology,微信公众号:智车科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    最受欢迎大照明品牌排行榜

    本篇文章中,为大家盘点最受消费者喜爱的大照明品牌。
    发表于 03-10 10:44 9843次阅读

    Python机器学习常用

    Python是一种面向对象的解释型计算机程序设计语言,具有丰富和强大的,再加上其简单、易学、速度快、开源免费、可移植性、可扩展性以及面向对象的特点,Python成为2017年最受欢迎
    发表于 03-26 16:29

    常用python机器学习盘点

    现在人工智能非常火爆,机器学习应该算是人工智能里面的一子领域,而其中有一块是对文本进行分析,对数据进行深入的挖掘提取一些特征值,然后用一些算法去学习,训练,分析,甚至还能预测,那么
    发表于 05-10 15:20

    Python工具介绍

    10大最受欢迎机器学习和数据科学Python
    发表于 08-21 10:14

    最受欢迎的编程语言、IDE和数据都是哪些

    PYPL 二月榜单发布:最受欢迎的编程语言、IDE 和数据都是哪些
    发表于 07-18 08:47

    2021年最受工程师欢迎的技能:Python第一

    Python等相关编程技能。Python成为2020年最受欢迎技能之一Udemy报告指出,Python、React(web)、Angular、机器
    发表于 06-30 10:13

    Python机器学习和深度学习总结

    我们在Github上的贡献者和提交者之中检查了用Python语言进行机器学习的开源项目,并挑选出最受欢迎和最活跃的项目。 1. Scikit-learn(重点推荐) Scikit-le
    发表于 11-10 14:49 884次阅读

    Python成为世界上最受欢迎的语言_Java定为入门语言?

    根据IEEE Spectrum研究报告显示,在2016年排名第三的Python在今年已经成为世界上最受欢迎的语言,C和Java分别位居第二和第三位。 最近报道,Java被斯坦福大学定为入门语言,主要
    发表于 06-30 15:33 2129次阅读

    机器学习算法中的线性判别分析的详细介绍

    先前呢,我们在最受欢迎机器学习算法-part1和最受欢迎
    的头像 发表于 02-03 07:28 7314次阅读

    最受欢迎的Linux发行版

    今天列出一些最常用、最受欢迎的Linux发行版来学习黑客和渗透测试!
    的头像 发表于 09-07 10:34 5109次阅读

    Python为什么那么受欢迎

    21世纪,不会Python等于文盲。 这句流行语并非夸张,《2020年职场学习趋势报告》显示,在2020年最受欢迎的技能排行榜,Python排在第一。 除职场外,
    的头像 发表于 09-30 10:11 1751次阅读

    盘点2021年最受欢迎Linux桌面操作系统前

    原文链接: 盘点|2021年最受欢迎Linux桌面操作系统前名-阿里云开发者社区 (aliyun.com) 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 简介
    发表于 12-23 16:30 4203次阅读

    来自科幻中最受欢迎的PCB灵感机器人之一

    电子发烧友网站提供《来自科幻中最受欢迎的PCB灵感机器人之一.zip》资料免费下载
    发表于 07-25 14:23 0次下载
    来自科幻中<b class='flag-5'>最受欢迎</b>的PCB灵感<b class='flag-5'>机器</b>人之一

    关于python中非常实用的一图像处理 1

    PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理,木有之一。然而,在Python2.7之后不再
    的头像 发表于 02-08 17:18 1301次阅读

    关于python中非常实用的一图像处理 2

    PIL:Python Imaging Library,是Python环境下最受欢迎的图像处理,木有之一。然而,在Python2.7之后不再
    的头像 发表于 02-08 17:18 1070次阅读