数据科学常用Python库介绍

(转自小象)
核心库

1.Numpy

Numpy(代表Numerical Python)是最基础的包,整个科学计算库的集合是基于它建立的。它提供了python中大量有用的功能:n维数组和矩阵操作。该库提供了在NumPy数组类型上进行数学运算的矢量化功能,从而改善性能,加快了执行速度。

2.Scipy

SciPy是一个工程和科学的软件库。SciPy库与SciPy Stack是不同的,它只是SciPy Stack的一部分。
SciPy Stack包含线性代数,优化、整合,统计等模块。SciPy库的主要功能建立在NumPy之上,使用了大量的NumPy的数组结构。它通过自身特定的子模块提供了高效的数值计算功能,像数值积分,优化等。另外,SciPy子模块中的所有功能都是可以通过文档进行查阅的。

3.Pandas

Pandas是一个Python包,设计用来处理“标记”和“关系”数据,简单直观。Pandas是数据探索的完美工具。它设计用于快速简便的数据处理、聚合和可视化。
这个库中有两种主要的数据结构:

“Series”: 一维数据
“Data Frames”:两维数据

•轻松的删除和添加DataFrame中的列
•转换数据结构为DataFrame
•处理缺失数据,例如用NaN代表缺失值
•强大的分组功能

◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇
可视化

4.Matplotlib

另一个SciPy Stack的核心包,也是一个Python库,专为简单而功能强大的可视化量身定做的。它是一个一流的Python库,与NumPy、SciPy和Pandas这些库一起,使得Python成为像Matlab或Mathematica这样的科学工具的强劲的竞争对手。

然而,这个库相当的初级,你需要编写更多的代码才能达到高级的可视化水平。通过努力,可以做出想要的可视化图像:

•线图
•散点图
•条形图和直方图
•饼图
•茎图
•等高线图
•场图
•谱图

Matplotlib还可以创建标签、网格、图例和许多其他格式化的实体。基本上,一切图表都是可以定制的。

不同的平台对Matplotlib库都有很好的支持,并能使用不同的GUI套件来展现所得到的可视化结果。各种IDE(像IPython)同样支持Matplotlib的功能。

5.Seaborn

Seaborn主要功能集中在统计模型的可视化;这种可视化包括热力图,就是可以汇总数据但仍可描述总体分布的可视化。Seaborn是基于matplotlib库而且相当依赖它。

6.Bokeh

另一个优秀的可视化库是Bokeh,其主要功能是交互式可视化。与之前的库不同的是,这个库不依赖matplotlib库。正如我们已经提到的,Bokeh的重点是它是可以互动的,它通过以数据驱动文档(d3.js)样式的现代浏览器来呈现。

7.Plotly

它是一个基于网页的用于构建可视化的工具盒,同时向一些编程语言(包括Python)开放应用程序接口(API)。在Plotly的网页上,有很多鲁棒的,不合规格的图片,如想使用Plotly,需先创建一个自己的接口钥匙(API Key)。然后这些图片将被传送到服务器上,然后放在网上,当然这个过程也有一个阻止方法。

◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇
机器学习

8.SciKit-Learn

SciKit是用于图像处理和便于机器学习的Scipy堆栈设计的一个附加的包;在机器学习方面,最著名的就是SciKit-Learn。SciKit-Learni建立在Scipy的顶端,并使用了很多数学。这个程序包像一般的机器学习算法公开了一个简洁和一致的接口,使得机器学习语言运用到生产系统较为简单。这个包把高质量的代码和良好的文档结合起来,便于使用并且性能较高,符合Python编码的机器学习的行业标准。

Deep Learning—Keras / TensorFlow / Theano

在深度学习的方面,其中最著名和方便的Python包是Keras,可在TensorFlow和Theano上再搭建函数,接下来介绍一下这些包的细节。

9.Theano

Theano是Python的包,它定义了类似于Numpy的多维数组,数学操作和表达式;这个包已经被编译好,并且能在所有的设备上高效运行。它最先被蒙特利尔大学的机器学习小组开发,并被用于机器学习;值得注意的是Theano.在低级的操作中和Numpy紧紧地结合在一起。这个包同样的优化了GPU和CPU的使用,让数据密集型计算机能够更高效地运行;算法的稳定性和和效率使得计算的结果更加精确。

10.TensorFlow

数据流图计算的开源库,专为机器学习设计。它被设计用来满足谷歌神经网络训练对环境的高度要求,也是DistBelief的继任者。

TensorFlow的关键特性是具有多层的节点系统,能够快速训练有大量数据的人工神经网络。现在运用于谷歌的语音识别和图片中的目标识别。

11.Keras

一个用Python编写的开源神经网络接口程序,并且有较好的可扩展性;它使用Theano或TensorFlow作为它的后端,但现在微软使其努力整合CNTK(微软的认知工具包)作为一个新的后端。设计中的简约方法旨在通过建立紧凑型系统进行快速简便的实验。Keras很容易上手,并且深入学习。它用纯Python 语言编写,高度模块化和可扩展,并且能够用于严肃的模型。Keras的一般想法是基于层次,其他一切都围绕着它们构建。数据以张量准备,第一层负责输入张量,最后一层负责输出,然后建立模型。

◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇
自然语言处理

12.NLTK

用于符号和统计自然语言的常见任务处理。NLTK只在促进NLP及其相关领域(语言学,认知科学,人工智能等)的教学和研究,目前正在被重点关注。NLTK允许很多操作,例如文本标记,分类,名称实体标识,建立语言树,显示语言和句子的依赖性;所有的程序块都可以用来构建不同任务的复杂的搜索系统,例如,情绪分析,自动总结。

13.Gensim

使用了向量空间建模和主题建模。程序库设计为高效的大文本,不仅可以实现内存处理,还可以通过使用Numpy和SciPy来提高效率。Gensim旨在与原始和非结构化数字文本一起使用,实现了诸如分层狄利克雷过程,潜在语义分析,潜在狄利克雷分配之类的算法,以及频率,随机投影等便于检查文本中的重复模式。所有的算法都是非监督的,不需要任何参数,唯一的输入是语料库。

◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇◆◇◆◇◇
数据挖掘与统计

14.Scrapy

用来从网络检索结构化数据的爬行程序的库。它最初被严格按照其名称进行设计,但它仍在完整的框架下发展,并能够从API采集数据。这个库在界面设计中严格遵循着“不要重复自己”的原则,它提示用户编写将要重复使用的通用代码,从而构建和缩放大型爬虫。

Scrapy的结构是围绕着Spider构建的,也就是说包含了怕星期跟踪的一系列指令。

15.Statsmodels

正如你可能从名称中猜测的那样,Statsmodels是一个Python 库,能够使用户通过各种统计模型估计的方法进行数据挖掘并执行统计断言和分析。许多有用的模型是通过线性回归模型,广义线性模型,离散选择模型,鲁棒线性模型,时间序列分析模型,各种估计量的描述性和结果统计。Statsmodels库还提供广泛的绘图功能,专门用于统计分析和大数据的使用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值