十个基本的Python数据科学软件包

编译作者: 布加迪 2019-09-25 09:20:33

【51CTO.com快译】过去五年人们对数据科学的兴趣显著上升。尽管有许多编程语言适合数据科学和机器学习,但Python是最受欢迎的。

由于它是机器学习的首选语言,本文介绍了以Python为中心的十个基本的数据科学软件包,包括最受欢迎的机器学习软件包。

十个基本的Python数据科学软件包

Scikit-Learn

Scikit-Learn是一个基于SciPy和NumPy的Python机器学习模块。它由David Cournapeau开发,起初是谷歌的一个“编程夏天”项目。从那时起,它已发展到20000多人次提交和90多个版本。摩根大通和Spotify等公司将它用于各自的数据科学工作中。

由于Scikit-Learn的学习曲线很平缓,连企业的业务人员也能使用它。比如说,Scikit-Learn官网上的一系列教程(https://scikit-learn.org/stable/auto_examples/index.html#examples-based-on-real-world-datasets)向你展示了如何分析现实世界的数据集。如果你是初学者,想学习机器学习库,Scikit-Learn就是入门之选。

其要求如下:

  • Python 3.5或更高版本
  • NumPy 1.11.0或更高
  • SciPy 0.17.0或更高

PyTorch

PyTorch擅长两件事。首先,它使用强大的GPU加速张量计算。其次,它在基于磁带的autograd系统上构建动态神经网络,从而允许重用和更高的性能。如果你是学者或工程师,想要简单易学的软件包来完成这两件事,PyTorch是适合你的选择。

在特定情况下,PyTorch尤为出色。比如,如上所述,你想通过使用GPU更快地计算张量?那就使用PyTorch,因为NumPy无法做到这一点。想使用RNN进行语言处理?那就使用PyTorch,因为它拥有运行时定义的功能。或者你想使用深度学习但你只是初学者?那就使用PyTorch,因为Scikit-Learn不适合深度学习。

PyTorch的要求取决于你的操作系统。安装比Scikit-Learn稍微复杂一些。我建议使用“Get Started”页面(https://pytorch.org/get-started/locally/)作为指导。它通常需要以下:

  • Python 3.6或更高版本
  • Conda 4.6.0或更高版本

Caffe

Caffe是最快实现卷积网络的工具之一,因此非常适合图像识别。它以处理图像见长。

贾扬清在加州大学伯克利分校攻读博士学位时开始开发Caffe。它采用BSD 2-Clause许可证来发布,被誉为是市面上性能最高的深度学习框架之一。据官网称,Caffe的图像处理速度相当惊人,声称“使用单单一个英伟达K40 GPU每天就可以处理6000余万个图像。”

我要强调一点,尽管学习曲线仍然相对平缓,但Caffe假设你至少具备机器学习方面的中级知识。

与PyTorch一样,要求取决于你的操作系统。在此查看安装指南(https://caffe.berkeleyvision.org/installation.html)。可以的话,我建议你使用Docker版本,以便马上可以使用。强制性依赖项如下:

  1. CUDA for GPU模式(https://developer.nvidia.com/cuda-zone)
  • 建议使用库版本7或更高版本以及最新的驱动程序版本,但6系列版本也很好
  • 5.5和5.0版本兼容,但被认为是旧版本
  1. 通过ATLAS、MKL或OpenBLAS进行BLAS(https://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms)
  2. Boost 1.55或更高版本(https://www.boost.org/)

TensorFlow

由于一些很充分的原因,TensorFlow是最著名的机器学习库之一。它擅长使用数据流图进行数值计算。

TensorFlow最初由谷歌Brain开发,是开源的。面对一系列任务,它使用数据流图和可微分编程,使其成为有史以来最灵活、最强大的机器学习库之一。

如果你需要快速处理大型数据集,这是不容忽视的库。

最新的稳定版本是v1.13.1,但新的v2.0现处于beta测试中。

Theano

Theano是最早的用于深度学习开发的开源软件库之一,最适合用于高速计算。

虽然Theano宣布在2017年发布v1.0之后停止主要开发,但你仍可以对其进行历史研究。它之所以跻身本文十大Python数据科学软件包行列,是由于如果你熟悉它,会大致了解它的创新后来如何演变成了如今你在激烈竞争的库中看到的功能。

Pandas

Pandas是一个用Python编写的强大而灵活的数据分析库。虽然不是严格意义上的机器学习库,但它非常适合用于针对大型数据集的数据分析和处理。尤其是,我喜欢将其用于其数据结构(比如DataFrame)、时间序列操纵和分析以及数字数据表。大企业和初创公司的许多业务员工可以轻松地拿来Pandas进行分析。此外,它非常易于上手,在数据分析功能方面不输给与之竞争的库。

如果你想使用Pandas,需要以下:

  • Setuptools版本24.2.0或更高版本
  • NumPy版本1.12.0或更高版本
  • Python dateutil 2.5.0或更高版本
  • 用于跨平台时区计算的pytz

Keras

Keras为快速实验而设计。它也可以在TensorFlow等其他框架上运行。作为深度学习库,Keras以轻松快速地制作原型而著称。

Keras因易于使用的API而在深度学习库爱好者中备受欢迎。Jeff Hale进行了一番整理,对主要的深度学习框架进行了排名,Keras相比毫不逊色。

Keras的唯一要求是要有三种后端引擎之一:比如TensorFlow、Theano或CNTK。

NumPy

NumPy是使用Python进行科学计算所需的基本软件包。对于想要一种易于使用的Python库进行科学计算的研究人员来说,这是很好的选择。实际上,NumPy正是为此目的设计的。它使数组计算变得容易很多。

最初,NumPy的代码是SciPy的一部分。然而,需要在工作中使用数组对象的科学家必须安装庞大的SciPy软件包。为了避免这种情况,一个新的软件包与SciPy分开来,名为NumPy。

如果你想使用NumPy,需要Python 2.6.x、2.7.x、3.2.x或更高版本。

Matplotlib

Matplotlib是Python 2D绘图库,可轻松创建跨平台的图表和图形。

到目前为止,我们介绍了许多机器学习、深度学习甚至快速计算框架。不过就数据科学而言,你还需要绘制图形和图表。谈到数据科学和Python,会立即想到用于绘图和数据可视化的Matplotlib。它很适合创建出版质量的图表。

为了获得长期支持,当前的稳定版本是v2.2.4,但你可以下载v3.0.3以获取最新功能。它确实要求你拥有Python 3或更新版本,因为已停止对Python 2的支持。

SciPy

SciPy是一个庞大的数据科学软件包库,主要面向数学、科学和工程。如果你是数据科学家或工程师,想要在运行技术和科学计算时一应俱全,SciPy正合你的心意。

由于SciPy建立在NumPy上,它有相同的目标受众。它有大量的子软件包,每个子软件包专注于特定领域,比如傅立叶变换、信号处理、优化算法、空间算法和最近邻。实际上,这是典型数据科学家所需的配套Python库。

就需求而言,如果你需要SciPy,还需要NumPy。

以上就是与数据科学有关的10种主要的Python库。

原文标题:Ten essential data science packages for Python,作者:TJ Simmons

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

机器学习 Python 数据科学
上一篇:AI军备竞赛催生未来AI硬件架构发展3大方向 下一篇:波士顿动力双足机器人Atlas放出逆天体操表演,网友:可怕
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

机器学习变革物流运输和交通出行

云和机器学习的融合催生了自动驾驶技术尤其是人们出行方式的广泛创新,正在改变整个行业的游戏规则。根据普华永道(PWC)的数据,68%的物流运输企业负责人认为,未来5年,提供物流运输服务的核心技术的改变将颠覆整个行业。

AWS大中华区云服务产品管理总经理顾凡 ·  1天前
轻松构建 PyTorch 生成对抗网络(GAN)

生成对抗网络(GAN)是一种生成式机器学习模型,它被广泛应用于广告、游戏、娱乐、媒体、制药等行业,可以用来创造虚构的人物、场景,模拟人脸老化,图像风格变换,以及产生化学分子式等等。

佚名 ·  2天前
新AI让教师能够快速开发智能辅导系统

通过使用一种采用人工智能的新方法,教师可以通过演示解决某个主题中的问题的几种方法来教计算机……

佚名 ·  3天前
终结重复工作!教你30分钟创建自己的深度学习机器

建立一个深度学习环境是一件很重要的事情。本文讲述使用深度学习 CommunityAMI、TMUX和 Tunneling在EC2为Jupyter Notebooks创建一个新的深度学习服务器。

读芯术 ·  3天前
如何用机器学习模型,为十几亿数据预测性别

基于用户画像进行广告投放,是优化投放效果、实现精准营销的基础;而人口属性中的性别、年龄等标签,又是用户画像中的基础信息。那该如何尽量准确的为数据打上这些标签?

TalkingData ·  4天前
教你轻松选择合适的机器学习算法!

机器学习方面没有免费午餐。因此,确定使用哪种算法取决于许多因素:面临的问题类型和预期的输出类型等。本文介绍了为数据集探究合适的机器学习方法时要考虑的几个因素。

布加迪 ·  4天前
画图太丑拿不出手?有人做了套机器学习专用画图模板,还有暗黑模式

论文、博客写好了,里面的图可怎么画?对于很多研究人员和开发者来说,内容的「可视化」是一个大问题。如果从头开始画,配色、空间布局都很伤脑筋,而且画丑了也拿不出手,要是有模板可以套就好了。

张倩、魔王 ·  4天前
机器学习:物联网成功的诀窍?

通过机器学习,物联网可以完美地运行。全球各地的组织正在竞相利用物联网的能力,但是,其中许多组织都被我们讨论过的一个或多个障碍所困扰。不过,不管您遇到什么问题,都可以通过结合了机器学习技术的方法来解决。

iothome ·  2020-05-25 22:39:38
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载