[雪峰磁针石博客]2019-Python最佳数据科学工具库

  1. 云栖社区>
  2. 博客>
  3. 正文

[雪峰磁针石博客]2019-Python最佳数据科学工具库

python人工智能命理 2019-01-28 09:27:25 浏览802
展开阅读全文

说明

以下库都可以在python测试开发库中找到,github地址:https://github.com/china-testing/python-api-tesing

相关书籍:https://china-testing.github.io/python_books.html

核心库

NumPy

Numerical Python的缩写,专为数学运算而设计。 支持用于复杂算术运算的多维数组和向量。还具有丰富的函数集,可以对支持的数据类型执行代数运算。

能与其他编程语言(如C / C ++,FORTRAN和数据库管理系统)的互操作。 而且,由于提供的函数是预编译的,效率高。

SciPy的

基于NumPy,提供集成,回归和概率等高级操作。 子模块组织有层次结构,手册很好。

Pandas

Python Data Analysis Library可根据需要帮助组织各种参数的数据。 各种内置数据类型(如serie,frame和panels)使Pandas成为数据科学家中最受欢迎的库。 帧表格格式允许对数据进行类似数据库的添加/删除操作,分组很容易。

此外,Pandas提供了三维面板数据结构,有助于更好地可视化数据类型。 灵活支持多种数据格式,包括缺少数据。

StatsModels

StatsModels模块允许用户使用库的建模和绘图支持对数据执行统计建模。 这些模型可用于不同领域的预测。 支持的模型类型包括线性模型和回归模型。

StatsModels还支持时间序列分析功能,这些功能在金融机构中尤为突出,例如以便利的格式维护股票市场信息。 此外,这些模型足够快,可用于大数据集,使其成为同类产品的最佳选择。

绘图

任何库的基本功能是能够以易于理解的格式表示对数据执行的复杂操作的结果。 本节中列出的图书馆侧重于该过程的这一方面。

Matplotlib

Matplotlib为SciPy核心软件包的一部分, 用于根据用户的要求对已处理数据进行图形表示。 我们可以生成各种类型的图形,包括直方图,饼图或简单的条形图。 它提供了面向对象的类MATLAB接口,能够为几乎所有可用功能提供定制。

Bokeh

Bokeh使用户可以使用Web浏览器界面绘制数据。 在内部它使用JavaScript基础结构,因此独立于Matplotlib。 Bokeh库强调小部件,它允许用户以各种支持的格式(如图形,绘图和标签)表示数据。

此外,它还通过“回调”支持交互式可视化,这允许您使用JavaScript hook到Bokeh方法。

Plotly

Plotly主要专注于3D绘图,可以与Web应用程序完美集成,并提供许多有用的API。 它使用数据驱动的文档,用户可以将其配置为在服务器端处理图形并将结果发送给客户端或其他方式。 如果需要,我们还可以通过平台与他人共享数据。 Plotly和Matplotlib数据格式可互操作。

机器学习

Scikit-Learn

Scikit-Learn是一个基于NumPy和SciPy构建的开源机器学习工具包。 它具有常用的ML算法,可用于预处理,分类,回归以及聚类。 算法包括支持向量机,ridge回归, 网格搜索算法(Grid Search algorithm) , k均值聚类( k-means clustering)等等。另外还有样本数据集。API易学易用。 在几乎所有平台上的良好性能,它在学术和商业用途中都很受欢迎。

Shogun

Shogun C ++实现,为包括Python在内的多种语言和平台提供统一的接口。 它侧重于可扩展的内核方法,以解决回归和分类问题。

Shogun关注生物信息学,可以扩展以处理超过1000万个数据样本,同时保持准确性。

深度学习

TensorFlow

图片.png

TensorFlow专注于神经网络,是由Google工程师开发的深度学习库。 该库非常易于扩展,支持众多平台,还包括GPU支持以实现更好的可视化。 算法类包括分类,估计模型和区分等。丰富的API支持使其成为使用自然语言处理训练神经网络和语音识别的首选。

Theano

Theano是库和编译器的组合,旨在解决DL领域中复杂的数学方程。 它使用NumPy的多维矩阵来执行操作。 考虑到性能,Theano与NumPy紧密结合并进行了预编译,因此与平台无关并且也使用GPU。除了这些功能外,它还提供了单元测试框架。

Keras

Keras是神经网络库,能够在Google的TensorFlow或Microsoft的[CNTK(https://github.com/china-testing/python-api-tesing#%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0deep-learning)之上执行。

Keras可以支持标准,卷积和循环神经网络,并为GPU集群上的模型提供分布式接口。 其易于使用的界面非常适合快速原型及其在支持平台上的部署。

自然语言处理

NLTK

Natural Language Toolkit支持英语语言处理常用的功能,如分类,标记化,解析和语义分析。 使用语法分析将单词分解为token之后,使用语言语义形成树状结构将数据存储在其模型中。涉及面广,例如情绪分析和反垃圾邮件引擎。

Gensim

图片.png

Gensim是可扩展,强大且独立于平台的NLP库,基于使用NumPy和SciPy。 “Generate Similar”的缩写,在内存中保留大量数据,性能不错。与其他库不同,因为它以级联方式使用数据而不是将它们组合在一起。

广泛用于医疗保健和金融机构等领域。

SpaCy

SpaCy包含各种语言的神经网络模型,即英语,德语,法语,意大利语和荷兰语等30种其他语言。 与主要用于学术目的的其他NLP库不同,SpaCy专注于商业用途。

它还提供机器学习和深度学习API的扩展。 一些流行的科技公司,如Airbnb和Quora,将SpaCy作为其平台的一部分。它能够处理文档而不是将数据作为多个token处理。支持中文,依赖jieba

爬虫

Scrapy

图片.png

Scrapy旨在搜索全球网络上的数据,用于设计Web爬虫以解析网页并以结构化格式存储数据。

数据挖掘

数据挖掘是一个计算流,我们试图在大量数据中找到模式用于分析目的。 让我们来看看经常用于数据挖掘的流行的Orange库。

Orange

除了机器学习支持, Orange工具包还具有用于交互式数据挖掘的可视化分析平台。包含用于可视化,分类,回归和评估数据集的小部件。 Orange经常使用的领域包括DNA研究和药物领域分析。

其他

SymPy

虽然不直接用于数据科学和分析,但SymPy是针对代数计算的符号计算Python库。 许多数据科学家使用该库对其数据进行中间数学分析,然后由其他库使用,例如绘图或机器学习。

参考资料

网友评论

登录后评论
0/500
评论
python人工智能命理
+ 关注