【锁定直播】字节、华为云、阿里云等技术专家讨论如何将大模型接入 AIOps 解决实际问题,戳>>> 了解详情
写点什么

2018 年,20 大 Python 数据科学库都做了哪些更新?

  • 2018-07-25
  • 本文字数:4314 字

    阅读完需:约 14 分钟

2018 年,Python 仍然是数据科学领域解决重大任务和挑战的佼佼者。去年,我们发了一篇博文,列举了一些被证明是最有用的 Python 库。今年,我们扩充了原来的清单,并重新审视之前讨论过的库,重点关注在过去一年内出现的更新。我们对它们进行了分组,排序不分先后,因为真的说不清它们哪个更好。

核心库与统计

1. NumPy(提交:17911,贡献者:641)

一般我们会将科学领域的库作为清单打头,NumPy 是该领域的主要软件库之一。它旨在处理大型的多维数组和矩阵,并提供了很多高级的数学函数和方法,因此可以用它来执行各种操作。

在过去一年,开发团队对该库进行了大量改进。除了错误修复和解决兼容性问题之外,关键的变更还包括样式改进,即 NumPy 对象的打印格式。此外,一些函数现在可以处理任意编码的文件,只要这些编码受 Python 支持。

2. SciPy(提交:19150,贡献者:608)

另一个科学计算核心库 SciPy,基于 NumPy 而构建,并扩展了 NumPy 的功能。SciPy 的主要数据结构是多维数组,使用 Numpy 实现。该库提供了一些用于解决线性代数、概率论、积分计算等任务的工具。

SciPy 通过与不同的操作系统进行持续集成的方式带来了重大改进,比如新的函数和方法,更重要的是——最新的优化器。此外,开发团队对很多新的 BLAS 和 LAPACK 函数进行了包装。

3.Pandas(提交:17144,贡献者:1165)

Pandas 是一个 Python 库,提供了高级的数据结构和各种分析工具。该库的一大特色是能够将相当复杂的数据操作转换为一两个命令。Pandas 提供了很多内置的方法,用于分组、过滤和组合数据,还提供了时间序列功能。所有这些方法的执行速度都很快。

新发布的 pandas 库还提供了数百个新特性、功能增强、错误修复和 API 变更。这些改进与 Pandas 对数据进行分组和排序的能力有关,支持自定义类型操作。

4. StatsModels(提交:10067,贡献者:153)

Statsmodels 是一个 Python 模块,为统计数据分析提供了很多可能性,例如统计模型估计、运行统计测试等。你可以借助它来实现很多机器学习方法,并探索不同的绘图可能性。

该库在不断演化,带来了更多的可能性。今年带来了时间序列改进和新的计数模型 GeneralizedPoisson、零膨胀模型和 NegativeBinomialP,以及新的多变量方法因子分析、MANOVA 和 ANOVA 的重复测量。

可视化

5. Matplotlib(提交:25747,贡献者:725)

Matplotlib 是一个用于创建二维图表和图形的低级库。你可以用它来构建各种图表,从直方图和散点图到非笛卡尔坐标图。此外,很多流行的绘图库都为 Matplotlib 预留了位置,可与 Matplotlib 结合在一起使用。

该库在绘图样式方面做出了很多变更,如颜色、尺寸、字体、图例等。例如,坐标轴图例的自动对齐和对色盲患者更友好的色环。

6. Seaborn(提交:2044,贡献者:83)

Seaborn 实际上是基于 matplotlib 库构建的高级 API。它为处理图表提供了更恰当的默认选项。此外,它还提供了一组丰富的可视化图库,包括时间序列、联合图和小提琴图等复杂的类型。

Seaborn 的更新主要是问题修复。不过,FacetGrid(或 PairGrid)与增强的交互式 matplotlib 后端之间的兼容性有所改进,为可视化添加了参数和选项。

7. Plotly(提交:2906,贡献者:48)

Plotly 是一个可以帮助你轻松构建复杂图形的流行库。该库适用于交互式 Web 应用程序,它提供了很多很棒的可视化效果,包括轮廓图形、三元图和 3D 图表。

这个库在持续地增强和改进,带来新的图形和特性,支持“多链接视图”、动画和串扰集成。

8. Bokeh(提交:16983,贡献者:294)

Bokeh 库使用 JavaScript 小部件在浏览器中创建交互式和可伸缩的可视化图形。该库提供了多种图形、样式、链接图形式的交互能力、添加小部件、定义回调以及更多有用的功能。

Bokeh 改进的交互式功能值得称赞,例如可旋转的分类刻度标签,以及小型的缩放工具和自定义工具提示字段增强。

9. Pydot(提交:169,贡献者:12)

Pydot 是一个用于生成面向复杂图形和非面向复杂图形的库。它作为面向 Graphviz 的一个接口,使用 Python 编写。我们可以借助它来显示图形的结构,这在构建神经网络和基于决策树的算法时经常会用到。

机器学习

10. Scikit-learn(提交:22753,贡献者:1084)

这个基于 NumPy 和 SciPy 的 Python 模块是处理数据的最佳库之一。它为很多标准的机器学习和数据挖掘任务提供算法,例如聚类、回归、分类、降维和模型选择。

该库有很多增强功能。交叉验证已经获得更新,现在可以使用多个指标。一些训练方法(如邻近取样和逻辑回归等)得到一些小改进。它的主要更新之一是完成了通用术语和 API 元素词汇表。

11. XGBoost/LightGBM/CatBoost(提交:3277/1083/1509,贡献者:280/79/61)

梯度提升是最流行的机器学习算法之一,它的核心原理在于构建连续精炼的基本模型的集合,即决策树。因此,有些专门的库被设计用于方便快速地实现该方法。我们认为 XGBoost、LightGBM 和 CatBoost 是值得关注的。它们都是解决常见问题最强有力的工具,而且使用方式几乎一样。我们可以使用这些库快速实现高度优化且可扩展的梯度提升,所以它们在数据科学家和 Kaggle 竞争者中非常受欢迎,他们在这些算法的帮助下赢得了很多比赛。

12. Eli5(提交:922,贡献者:6)

通常情况下,机器学习模型的预测结果并不完全是清晰的,这个时候可以借助 Eli5 来解决这个问题。它是一个用于可视化和调试机器学习模型的库,可以逐步跟踪算法的执行过程。它支持 scikit-learn、XGBoost、LightGBM、lightning 和 sklearn-crfsuite 库,并可以为每个库执行不同的任务。

深度学习

13. TensorFlow(提交:33339,贡献者:1469)

TensorFlow 是一个流行的深度学习和机器学习框架,由 Google Brain 开发。它支持在人工神经网络中使用多个数据集。最受欢迎的 TensorFlow 应用场景包括物体识别、语音识别等。还有很多基于 TensorFlow 构建的库,例如 tflearn、tf-slim、skflow 等。

这个库发布新版本的速度很快,引入了很多新功能。最新的修复包括潜在的安全漏洞和改进的 TensorFlow 与 GPU 的集成,现在可以在单台计算机的多个 GPU 上运行 Estimator 模型。

14. PyTorch(提交:11306,贡献者:635)

PyTorch 是一个大型框架,可用它基于 GPU 加速执行张量计算、创建动态计算图以及自动计算梯度。此外,PyTorch 还提供了丰富的 API,用于解决与神经网络相关的应用。

该库基于 Torch 而构建,使用 C 语言实现,并包含了使用 Lua 编写的包装器。它的 Python API 于 2017 年推出,从那时起,该框架越来越受欢迎,并吸引了越来越多的数据科学家。

15. Keras(提交:4539,贡献者:671)

Keras 是一个用于处理神经网络的高级库,运行在 TensorFlow 或 Theano 之上,现在发布的新版本可以使用 CNTK 或 MxNet 作为后端。它简化了很多特定任务,并大大减少了样板代码的数量,但它可能不适用于某些复杂的事情。

该库在性能、可用性、文档和 API 方面进行了改进,并推出了一些新特性,如 Conv3DTranspose 层、新的 MobileNet 应用程序和自我规范化网络。

分布式深度学习

16. dist-keras/elephas/spark-deep-learning(提交:1125/170/67,贡献者:5/13/11)

深度学习问题变得越来越重要,因为越来越多的场景要求更多的时间和成本。而像 Apache Spark 这样的分布式计算系统可以更轻松地处理大量数据,这反过来又为深度学习带来更多的可能性。dist-keras、elephas 和 spark-deep-learning 变得越来越流行,并正在迅速发展演化。很难说它们当中哪个更好,因为它们都是为解决一些相同的任务而设计的。这些库和 Keras 可以直接用在 Apache Spark 中,用以训练神经网络。spark-deep-learning 还提供了工具用于为 Python 神经网络创建管道。

自然语言处理

17. NLTK(提交:13041,贡献者:236)

NLTK 是一组库的集合,一个完整的自然语言处理平台。你可以借助 NLTK 以各种方式处理和分析文本,如标记、打标签、提取信息等。NLTK 还用于原型设计和构建研究性系统。

该库的增强还包括 API 和兼容性的微小变更以及面向 CoreNLP 的新接口。

18. SpaCy(提交:8623,贡献者:215)

SpaCy 是一个自然语言处理库,包含了优秀的示例、API 文档和演示应用程序。该库使用 Cython(Python 的 C 扩展)编写。它支持将近 30 种语言,可以方便地与深度学习集成,并保证健壮性和高准确率。SpaCy 有一个为处理整个文档而设计的架构,在处理文档时不需要将它分成短语,这也是 SpaCy 的一个重要特性。

19. Gensim(提交:3603,贡献者:273)

Gensim 基于 Numpy 和 Scipy 而构建,是一个用于语义分析、主题建模和向量空间建模的 Python 库。它提供了主流的 NLP 算法实现,例如 word2vec。Gensim 有自己的 models.wrappers.fasttext 实现,不过仍然可以使用 fasttext 库进行单词表示的高效学习。

数据抓取

20. Scrapy(提交:6625,贡献者:281)

Scrapy 是一个用于创建扫描网站页面并收集结构化数据的爬虫的库。此外,Scrapy 可以从 API 中提取数据。因为具备良好的可扩展性和可移植性,该库使用起来非常方便。

该库在过去一年里的变化包括代理服务器的若干次升级以及改进的错误通知和问题识别系统。用在元数据设置中的 Scrapy 解析也有了新的特性。

结论

这些是我们列出的 2018 年数据科学 Python 库的集合。与去年相比,一些新的库越来越受欢迎,而那些经典库也正在不断改进。

下面的表格显示了这些库在 Github 上的活动统计信息。

各个库的链接地址:

NumPy: http://www.numpy.org/

SciPy: https://scipy.org/scipylib/

Pandas: https://pandas.pydata.org/

StatsModels: http://www.statsmodels.org/devel/

Matplotlib: https://matplotlib.org/index.html

Seaborn: https://seaborn.pydata.org/

Plotly: https://plot.ly/python/

Bokeh: https://bokeh.pydata.org/en/latest/

Pydot: https://pypi.org/project/pydot/

Scikit-learn: http://scikit-learn.org/stable/

XGBoost: http://xgboost.readthedocs.io/en/latest/

LightGBM: http://lightgbm.readthedocs.io/en/latest/Python-Intro.html

CatBoost: https://github.com/catboost/catboost

Eli5: https://eli5.readthedocs.io/en/latest/

TensorFlow: https://www.tensorflow.org/

PyTorch: https://pytorch.org/

Keras: https://keras.io/

dist-keras: http://joerihermans.com/work/distributed-keras/

elephas: https://pypi.org/project/elephas/

spark-deep-learning: https://databricks.github.io/spark-deep-learning/site/index.html

NLTK: https://www.nltk.org/

SpaCy: https://spacy.io/

Gensim: https://radimrehurek.com/gensim/

Scrapy: https://scrapy.org/

查看英文原文: https://www.kdnuggets.com/2018/06/top-20-python-libraries-data-science-2018.html

感谢蔡芳芳对本文的审校。

公众号推荐:

2024 年 1 月,InfoQ 研究中心重磅发布《大语言模型综合能力测评报告 2024》,揭示了 10 个大模型在语义理解、文学创作、知识问答等领域的卓越表现。ChatGPT-4、文心一言等领先模型在编程、逻辑推理等方面展现出惊人的进步,预示着大模型将在 2024 年迎来更广泛的应用和创新。关注公众号「AI 前线」,回复「大模型报告」免费获取电子版研究报告。

AI 前线公众号
2018-07-25 08:041933
用户头像

发布了 731 篇内容, 共 433.3 次阅读, 收获喜欢 1997 次。

关注

评论

发布
暂无评论
发现更多内容

探索未来科技:深入了解设备交互 API 如何改变我们的生活

测试人

软件测试

1688 API接口与ERP系统的集成与应用

Anzexi58

ERP接口 API 文档

JetBrains PhpStorm 2023 for Mac(PHP集成开发) v2023.3.5中文激活版

iMac小白

BetterMouse for Mac(鼠标增强软件) v1.5 (4618)中文激活版

iMac小白

DBeaverUE for Mac(数据库管理软件) v24.0.0旗舰激活版

iMac小白

实时获取商品信息,京东API助力电商行业提升竞争力

技术冰糖葫芦

API 接口 API 文档 API 策略

Parallels Desktop 19 for Mac虚拟机 19.1.0一键激活版

Rose

虚拟机 Parallels Desktop

跨境电商选品实战——Ownips静态ip代理+Python爬虫轻松搞定Lazada电商选品

中杯可乐多加冰

Python 爬虫 跨境电商 电子商务

跨端轻量JavaScript引擎的实现与探索

京东科技开发者

Millumin 4 for mac(专业视频编辑软件)v4.18.e免激活版

影影绰绰一往直前

Navicat for MongoDB mac(MongoDB 数据库管理和开发)v16.3.7激活版

影影绰绰一往直前

Permute 3 for mac(全能媒体格式转换器)v3.11.7中文版

影影绰绰一往直前

Metes and Bounds Pro for Mac(房地产契约绘图软件) v6.1.1激活版

iMac小白

Piezo for Mac(mac录音软件) v1.8.2激活版

iMac小白

Navicat for Redis for Mac(Redis数据库管理工具) 16.3.7 直装版

iMac小白

NoteList 4 for mac(MacOS数据存储工具) v4.3.4激活版

iMac小白

DB-Text for Mac(数据库文本操作工具) v1.12.2激活版

iMac小白

Mp3tag for Mac(音频标签编辑器)v1.8.17激活版

影影绰绰一往直前

Downie 4 for Mac(视频下载工具)v4.7.5(4682)中文版

影影绰绰一往直前

QuickLinks for Mac(菜单栏快捷命令)v3.3激活版

影影绰绰一往直前

arthas火焰图async-profiler在云交易中的运用

京东科技开发者

从keys命令出发-浅谈redis的字典和字典迭代器

京东科技开发者

虚位以待!OpenHarmony开发者激励计划持续招募中

OpenHarmony开发者

OpenHarmony 开发者激励计划

GarageSale for Mac(mac eBay在线拍卖客户端)v9.7.0激活版

影影绰绰一往直前

印度股票盘开发

GangguHK

JetBrains RubyMine 2023 for mac v2023.3.5中文激活版

iMac小白

Rotato for Mac(3D样机宣传视频制作工具) v145 激活版

iMac小白

Premiere Pro 2024 for Mac (PR 2024视频编辑软件)v24.2.1中文激活版

影影绰绰一往直前

DBeaverUE for Mac(数据库管理软件) v24.0.0旗舰激活版

iMac小白

NineData全方位支持 TDSQL:打造企业级数据库新体验

NineData

tdsql 数据对比 SQL开发 迁移同步 不停机迁移

Navicat for Oracle for Mac(专业数据库管理工具)v16.3.7中文特别版

影影绰绰一往直前

2018年,20大Python数据科学库都做了哪些更新?_Python_ActiveWizards_InfoQ精选文章