十个基本的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放出逆天体操表演,网友:可怕
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

精心整理,机器学习的3大学习资源

机器学习有无尽可能性,该领域薪资高,工作者在工作上能享受到极大乐趣,这让他们大多数时候感觉不像工作。然而,零经验者如何在合理时间内掌握机器学习?本文会给出答案。

读芯术 ·  6h前
欺诈不可怕,机器学习算法分分钟拿下!

根据一项调查,采用基于AI的解决方案的防欺诈专家中有80%认为AI对打击欺诈者有效。但是,仍然存在的问题是弄清楚哪种机器学习算法可以有效地检测未知的欺诈模式。监督学习和无监督学习算法哪一个更有效?

读芯术 ·  1天前
为什么用Go编写机器学习的基础架构,而不是Python?

虽然Python是使用广泛的语言,并用于每个主要的机器学习框架中。然而,你能想象?在Cortex(将机器学习模型部署为API的开放源代码平台之一)代码库中,87.5%的代码都是使用GO编写。

读芯术 ·  2天前
人工智能“捷径”将模拟速度提高数十亿倍

即使用最快的超级计算机模拟复杂的自然现象也要花上几个小时,如大气雾霾如何影响气候。

辛雨 ·  2天前
2020年了,深度学习接下来到底该怎么走?

机器学习资深从业者 Ajit Rajasekharan 在本文中汇集了深度学习领域各路大佬的想法,并分享了他本人的一些思考。

亚希伯恩•菲 ·  3天前
AI战「疫」:百度开源口罩人脸检测及分类模型

2 月 13 日,百度飞桨宣布开源业界首个口罩人脸检测及分类模型。基于此模型,可以在公共场景检测大量的人脸同时,把佩戴口罩和未佩戴口罩的人脸标注出来,快速识别各类场景中不重视、不注意防护病毒,甚至存在侥幸心理的人,减少公众场合下的安全隐患。

Synced ·  3天前
大规模存储基础设施对人工智能的要求

大规模的人工智能(AI)在容量和性能方面提高了存储基础设施的门槛。对于人工智能或机器学习(ML)环境,期望增长到数十个甚至数百TB的容量并不少见。

Harris ·  3天前
一个案例掌握深度学习

近期我们将连载一个深度学习专题,由百度深度学习技术平台部主任架构师毕然分享,让你快速入门深度学习,参与到人工智能浪潮中。

佚名 ·  4天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载