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

简介: 说明 以下库都可以在python测试开发库中找到,github地址:https://github.com/china-testing/python-api-tesing 相关书籍:https://china-testing.github.io/python_books.html 核心库 NumPy Numerical Python的缩写,专为数学运算而设计。

说明

以下库都可以在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库。 许多数据科学家使用该库对其数据进行中间数学分析,然后由其他库使用,例如绘图或机器学习。

参考资料

相关文章
|
18小时前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
15 1
|
1天前
|
数据处理 Python
如何使用Python的Pandas库进行数据排序和排名
【4月更文挑战第22天】Pandas Python库提供数据排序和排名功能。使用`sort_values()`按列进行升序或降序排序,如`df.sort_values(by='A', ascending=False)`。`rank()`函数用于计算排名,如`df['A'].rank(ascending=False)`。多列操作可传入列名列表,如`df.sort_values(by=['A', 'B'], ascending=[True, False])`和分别对'A'、'B'列排名。
10 2
|
2天前
|
算法 Python
请解释Python中的关联规则挖掘以及如何使用Sklearn库实现它。
使用Python的mlxtend库,可以通过Apriori算法进行关联规则挖掘。首先导入TransactionEncoder和apriori等模块,然后准备数据集(如购买行为列表)。对数据集编码并转换后,应用Apriori算法找到频繁项集(设置最小支持度)。最后,生成关联规则并计算置信度(设定最小置信度阈值)。通过调整这些参数可以优化结果。
24 9
|
2天前
|
Python
如何使用Python的Pandas库进行数据缺失值处理?
Pandas在Python中提供多种处理缺失值的方法:1) 使用`isnull()`检查;2) `dropna()`删除含缺失值的行或列;3) `fillna()`用常数、前后值填充;4) `interpolate()`进行插值填充。根据需求选择合适的方法处理数据缺失。
26 9
|
2天前
|
索引 Python
如何在Python中使用Pandas库进行季节性调整?
在Python中使用Pandas和Statsmodels进行季节性调整的步骤包括:导入pandas和seasonal_decompose模块,准备时间序列DataFrame,调用`seasonal_decompose()`函数分解数据为趋势、季节性和残差,可选地绘制图表分析,以及根据需求去除季节性影响(如将原始数据减去季节性成分)。这是对时间序列数据进行季节性分析的基础流程。
16 2
|
3天前
|
缓存 自然语言处理 数据处理
Python自然语言处理面试:NLTK、SpaCy与Hugging Face库详解
【4月更文挑战第16天】本文介绍了Python NLP面试中NLTK、SpaCy和Hugging Face库的常见问题和易错点。通过示例代码展示了如何进行分词、词性标注、命名实体识别、相似度计算、依存关系分析、文本分类及预训练模型调用等任务。重点强调了理解库功能、预处理、模型选择、性能优化和模型解释性的重要性,帮助面试者提升NLP技术展示。
20 5
|
4天前
|
Python
如何使用Python的Plotly库创建交互式图表?
Plotly是Python的交互式图表库,支持多种图表类型,如折线图、散点图、柱状图。使用步骤包括安装库、导入模块、准备数据、创建图表对象、添加数据和设置属性,最后显示或保存图表。
16 6
|
4天前
|
机器学习/深度学习 数据采集 算法
请解释Python中的Sklearn库以及它的主要用途。
Sklearn是Python的机器学习库,提供数据预处理、特征选择、分类回归、聚类、模型评估和参数调优等工具。包含监督和无监督学习算法,如SVM、决策树、K-means等,并提供样例数据集便于实践。它是进行机器学习项目的重要资源。
11 1
|
4天前
|
XML 数据采集 自然语言处理
请解释Python中的BeautifulSoup库以及它的主要用途。
BeautifulSoup是Python的HTML/XML解析库,用于数据提取和网页抓取。它提供树形结构解析文档,支持查找、访问和修改元素。主要用途包括网页抓取、数据清洗、自动化测试、内容生成、网站开发及与其他库集成,如Requests和Scrapy。适用于各种数据处理场景。
7 1
|
4天前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
9 2