集团站切换校区

验证码已发送,请查收短信

图标

业界新闻

当前位置:首页 > >业界新闻 > >

2017年最流行的数据科学Python库

发布时间: 2017-06-19 13:26:02

Python近几年在数据科学行业获得了人们的极大青睐,各种资源层出不穷。腾科小编根据应用开发经验,总结了2017 年最常使用的 Python 库。

              

一、核心库

1. NumPy

当使用 Python 开始处理科学任务时,不可避免地需要求助 Python 的 SciPy Stack,它是专门为 Python 中的科学计算而设计的软件的集合。这个 stack 相当庞大,其中有十几个库,所以我们想聚焦在核心包上。NumPy(代表 Numerical Python)是构建科学计算 stack 的最基础的包。它为 Python 中的 n 维数组和矩阵的操作提供了大量有用的功能。该库还提供了 NumPy 数组类型的数学运算向量化,可以提升性能,从而加快执行速度。

2. SciPy

SciPy 是一个工程和科学软件库。除此以外,你还要了解 SciPy Stack 和 SciPy 库之间的区别。SciPy 包含线性代数、优化、集成和统计的模块。SciPy 库的主要功能建立在 NumPy 的基础之上,因此它的数组大量使用了 NumPy。它通过其特定的子模块提供高效的数值例程操作,比如数值积分、优化和许多其他例程。SciPy 的所有子模块中的函数都有详细的文档,这也是一个优势。

3. Pandas

Pandas 是一个 Python 包,旨在通过“标记(labeled)”和“关系(relational)”数据进行工作,简单直观。Pandas 是 data wrangling 的完美工具。它设计用于快速简单的数据操作、聚合和可视化。库中有两个主要的数据结构:

Series:一维

Data Frames:二维

例如,当你要从这两种类型的结构中接收到一个新的“Dataframe”类型的数据时,将通过传递一个“Series”来将一行添加到“Dataframe”中来接收这样的 Dataframe:

这里只是一小撮你可以用 Pandas 做的事情:

  • 轻松删除并添加“Dataframe”中的列
  • 将数据结构转换为“Dataframe”对象
  • 处理丢失数据,表示为 NaN(Not a Number)
  • 功能强大的分组

 

二、可视化

1. Matplotlib

Matplotlib 是另一个 SciPy Stack 核心软件包和另一个 Python 库,专为轻松生成简单而强大的可视化而量身定制。它是一个顶尖的软件,使得 Python成为 MatLab 或 Mathematica 等科学工具的显著竞争对手。然而,这个库比较底层,这意味着需要编写更多的代码才能达到高级的可视化效果,通常会比使用更高级工具付出更多努力,但总的来说值得一试。花一点力气,你就可以做到任何可视化。还有使用 Matplotlib 创建标签、网格、图例和许多其他格式化实体的功能。基本上,一切都是可定制的。该库支持不同的平台,并可使用不同的 GUI 工具套件来描述所得到的可视化。许多不同的 IDE都支持 Matplotlib 的功能。还有一些额外的库可以使可视化变得更加容易。

2. Seaborn

Seaborn 主要关注统计模型的可视化,这种可视化包括热度图。可以总结数据但也描绘总体分布。Seaborn 基于 Matplotlib,并高度依赖于它。

  

3. Bokeh

Bokeh 也是一个很好的可视化库,其目的是交互式可视化。与之前的库相反,这个库独立于 Matplotlib。正如之前已经提到的那样,Bokeh 的重点是交互性,它通过现代浏览器以数据驱动文档(d3.js)的风格呈现。

4. Plotly

Plotly是一个基于 Web 的工具箱,用于构建可视化,将 API 呈现给某些编程语言。在 plot.ly 网站上有一些强大的、开箱即用的图形。为了使用 Plotly需要设置 API 密钥。图形处理会放在服务器端,并在互联网上发布。

 

三、机器学习

1. SciKit-Learn

Scikits 是 SciPy Stack 的附加软件包,专为特定功能(如图像处理和辅助机器学习)而设计。在后者方面,其中最突出的一个是 scikit-learn。该软件包构建于 SciPy 之上,并大量使用其数学操作。scikit-learn 有一个简洁和一致的接口,可利用常见的机器学习算法,让我们可以简单的在生产中应用机器学习。该库结合了质量很好的代码和良好的文档,易于使用且有着非常高的性能,是使用 Python 进行机器学习的实际上的行业标准。

 

四、深度学习

1. Theano

Theano 是一个 Python 包,它定义了与 NumPy 类似的多维数组,以及数学运算和表达式。该库是经过编译的,使其在所有架构上能够高效运行。这个库最初由蒙特利尔大学机器学习组开发,主要是为了满足机器学习的需求。要注意的是Theano 与 NumPy 在底层的操作上紧密集成。该库还优化了 GPU 和 CPU 的使用,使数据密集型计算的性能更快。效率和稳定性调整允许更精确的结果,即使是非常小的值也可以。

2. TensorFlow

TensorFlow 来自 Google 的开发人员,它是用于数据流图计算的开源库,专门为机器学习设计。它是为满足 Google 对训练神经网络的高要求而设计的,是基于神经网络的机器学习系统 DistBelief 的继任者。TensorFlow 的关键特征是其多层节点系统,可以在大型数据集上快速训练人工神经网络。这为 Google 的语音识别和图像识别提供了支持。

3. Keras

Keras是一个使用高层接口构建神经网络的开源库,它是用 Python 编写的。它简单易懂,具有高级可扩展性。它使用 Theano 或 TensorFlow 作为后端,但 Microsoft 现在已将 CNTK(Microsoft 的认知工具包)集成为新的后端。其简约的设计旨在通过建立紧凑型系统进行快速和容易的实验。Keras 极其容易上手,而且可以进行快速的原型设计。它完全使用 Python 编写的,所以本质上很高层。它是高度模块化和可扩展的。尽管它简单易用且面向高层,但 Keras 也非常深度和强大,足以用于严肃的建模。Keras 的一般思想是基于神经网络的层,然后围绕层构建一切。数据以张量的形式进行准备,第一层负责输入张量,最后一层用于输出。模型构建于两者之间。

 

五、自然语言处理

1. NLTK

这套库的名称是 Natural Language Toolkit(自然语言工具包),它可用于符号和统计自然语言处理的常见任务。NLTK 旨在促进 NLP 及相关领域的教学和研究,目前正被重点关注。NLTK 允许许多操作,例如文本标记、分类和 tokenizing、命名实体识别、词干提取、语义推理。所有的构建块都可以为不同的任务构建复杂的研究系统。

2. Gensim

这是一个用于 Python 的开源库,实现了用于向量空间建模和主题建模的工具。这个库为大文本进行了有效的设计,而不仅仅可以处理内存中内容。其通过广泛使用 NumPy 数据结构和 SciPy 操作而实现了效率。它既高效又易于使用。Gensim 的目标是可以应用原始的和非结构化的数字文本。Gensim 实现了诸如分层 Dirichlet 进程(HDP)、潜在语义分析(LSA)和潜在 Dirichlet 分配(LDA)等算法,还有 tf-idf、随机投影、word2vec 和 document2vec,以便于检查一组文档中文本的重复模式。

 

六、数据挖掘与统计

1. Scrapy

Scrapy 是用于从网络检索结构化数据的爬虫程序的库。它是开源的,用 Python 编写。它最初是为 scraping 设计的。它现在已经发展成了一个完整的框架,可以从 API 收集数据,也可以用作通用的爬虫。


2. Statsmodels

statsmodels 是一个用于 Python 的库,它让用户能够通过使用各种统计模型估计方法以及执行统计断言和分析来进行数据探索。许多有用的特征是描述性的,并可通过使用线性回归模型、广义线性模型、离散选择模型、稳健的线性模型、时序分析模型、各种估计器进行统计。该库还提供了广泛的绘图函数,专门用于统计分析和调整使用大数据统计数据的良好性能。

 

七、结论

这个列表中的库被很多数据科学家和工程师认为是最顶级的,了解和熟悉它们是很有价值的。当然,这并不是一份完全详尽的列表,还有其它很多值得关注的库、工具包和框架。

 

 

  

上一篇: 腾科快讯-企业最需要的十类技术性人才

下一篇: 腾科快讯-十款最佳JavaScript编辑器全面评测

在线咨询 ×

您好,请问有什么可以帮您?我们将竭诚提供最优质服务!