流行的 Python 机器学习库的趋势和比较

胖雪小哥_3649

胖雪小哥_3649

2023-04-12

1402人浏览

转载

python 是全球最流行的编程语言之一,拥有越来越多的库和框架。看看最新的。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

Python 是全球最流行的编程语言之一,拥有越来越多的库和框架来促进 AI 和ML 开发。Python 中有超过 250 个库,要知道哪个库最适合您的项目并跟上所有这些库带来的技术变化和趋势,可能会有点令人困惑。

下面是我使用过的流行的 Python 机器学习库。我尽我所能根据哪些场景使用它们来对它们进行分类。除了这些之外,还有很多库,但我无法谈论我没有使用过的库,我认为这些是使用最多的库。

NumPy

NumPy 是一个众所周知 的通用数组处理包,与其他机器学习包不同。对于 n 维数组(向量、矩阵和高阶矩阵),NumPy 提供了高性能(本机编译)支持和对各种操作的支持。它支持向量化操作,特别是,将 Python 表达式转换为低级代码调度,隐式循环跨数据的不同子集。

NumPy 函数

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)

函数的 start 和 stop 参数都是必需的,它们返回的值均匀分布在预定的时间间隔内。

  • numpy.repeat

使用 numpy.repeat(a, repeats, axis=None) 方法重复数组的元素。第二个输入重复指定重复次数。

  • numpy.random.randint

函数 numpy.random.randint(low, high=None, size=None, dtype='l') 从 [low, high] 返回随机整数。如果高参数不存在(无),则从范围 [0, low] 中选择随机数。

为什么 Numpy 如此受欢迎?

简而言之,NumPy 优化和预编译的 C 代码可以处理所有繁重的工作,使其比标准Python 数组更快。

NumPy 使科学计算中经常使用的许多数学程序变得快速且易于使用。

Pandas

Pandas 正迅速成为使用最广泛的 Python 数据分析库,因为它支持处理“关系”和“标记”数据的快速、适应性和表达性数据结构。存在需要 Pandas 的实际和现实世界的 Python 数据分析问题。Pandas 提供彻底优化和高度可靠的性能。只有 C 或 Python 用于纯粹编写后端代码。

一些Pandas功能

pd.read_csv, pd.read_excel

要提到的第一个函数是 read_csv 或 read_excel。这些功能已经提供了清晰的解释。我利用它们将 CSV 或 Excel 文件中的数据读取为 pandas DataFrame 格式。

df = pd.read_csv("PlayerStat.csv")

.read csv() 函数还可以使用以下语法读取 .txt 文件:

data = pd.read_csv(file.txt, sep=" ")
  • df.query()

布尔表达式可以过滤或查询数据。我可以使用查询函数作为字符串应用过滤条件。与许多其他程序相比,它提供了更多的自由。

df.query("A > 4")

仅返回 A 大于 4 的行。

  • df.iloc()

我将行和列索引作为参数传递给该函数,该函数返回 DataFrame 的适当子集。

  • df[‘’].dtypes

另一个非常基础和流行的功能。在开始任何分析、可视化或预测建模之前,必须知道变量的数据类型。使用这种技术,您可以获得每一列的数据类型。

  • df.dtypes

Pandas vs Vaex

Vaex Python 是 Pandas 库的替代品,它使用 Out of Core Dataframe 更快地计算大量数据。为了查看和研究大型表格数据集,Vaex 是一个高性能 Python 模块,用于惰性核心外数据帧(类似于 Pandas)。每秒可以使用简单的统计数据计算超过 10 亿行。它支持各种可视化,允许大量交互式数据探索。

macOS UI 自动化技能包 —— 用 Python 控制你的 Mac
macOS UI 自动化技能包 —— 用 Python 控制你的 Mac

让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限

下载

TensorFlow

TensorFlow 是由 Google创建和发布的用于快速数值计算的 Python 库 。Tensorflow 使用与 Theano 有所不同的语言和函数名称,这可能会使从 Theano 的切换变得比它必须的更复杂。然而,Tensorflow 中的整个计算图的运行方式与 Theano 中的类似,具有相同的优点和缺点。即使对计算图的修改对性能有重大影响,Tensorflow 的 eval 函数也只是让观察中间状态变得稍微容易一些。与几年前的 Theano 和 Caffe 相比,Tensorflow 是首选的深度学习技术。

TensorFlow 内置函数

  • tf.zeros_like

该函数的输出是一个与输入张量具有相同类型和形状但值为零的张量。

tensor = tf.constant( I[1, 2, 3], [4, 5, 6]])
tf.zeros_like( tensor) # [ [0, 0, 0], [0, 0,0]

从输入图像创建黑色图像时,此功能可能会有所帮助。如果您希望直接定义表单,请使用 tf.zeros。如果您更喜欢初始化 1 而不是 0,请使用 tf.ones_like。

  • tfpad

用常数值在其周围添加指定的填充以增加张量的维度。

  • tf.enable_eager_execution

这可以在您运行 TensorFlow 应用程序时帮助您。使用 Eager Execution 时,您不需要在会话中构建和运行图。这是有关急切执行的更多信息。

“Eager execution”必须是导入 TensorFlow 后的第一条语句。

TensorFlow 与 PyTorch

Torch 的 Python 实现 Pytorch 得到 Facebook 的支持。它通过提供即时图形编译与上述技术竞争,通过不将图形视为不同和不透明的对象,使 Pytorch 代码与周围的 Python 更加兼容。相反,有许多灵活的技术可以即时构建张量计算。此外,它表现良好。它具有强大的多 GPU 能力,很像 Tensorflow;然而,Tensorflow 仍然适用于更大规模的分布式系统。虽然 Pytorch 的 API 文档齐全,但 Tensorflow 或 Keras 的 API 更加完善。然而,Pytorch 在不影响性能的情况下在灵活性和可用性方面取得了胜利,这无疑迫使 Tensorflow 重新思考和调整。Tensorflow 最近受到 Pytorch 的严重挑战,

Keras

Keras 是一个开源软件库,为人工神经网络提供 Python 接口。由于 Keras 名义上是独立于引擎的,所以理论上 Keras 代码可以被重用,即使引擎需要因性能或其他因素而改变。它的缺点是,当您希望创建非常新颖或专业的架构时,通常需要在 Keras 层下使用 Tensorflow 或 Theano。这主要发生在您需要使用复杂的 NumPy 索引时,这对应于 Tensorflow 中的聚集/分散和 Theano 中的 set/inc 子张量。

Keras 函数

  • 评估与预测

在 Keras 中,evaluate() 和 predict() 都可用。这些技术可以利用 NumPy 数据集。当数据经过测试后,我完成了对结果的评估。我使用这些技术来评估我们的模型。

  • Keras 中的图层

每个 Keras 层都包含许多技术。这些层有助于构建、配置和训练数据。密集层有助于操作实现。我使用 flat 展平了输入。Dropout 启用输入丢失。我可以使用重塑工具重塑输出。我使用输入启动了一个 Keras 张量。

您可以获得中间层的输出。

一个相当简单的库是 Keras。它使得从层的中间层获取输出成为可能。您可以轻松地向现有层添加一个新层,以帮助您在中间获得输出。

Theano

Theano 是一个 Python 库和优化编译器,用于操作和评估数学表达式,尤其是矩阵值表达式。作为最古老和最成熟的,为 Theano 提供了优势和劣势。大多数用户请求的功能都已添加,因为它是旧版本。但是,其中一些实现有点过于复杂且难以使用,因为没有先例可循。该文档是可以通过但模棱两可的。由于没有简单的方法来检查中间计算,因此在 Theano 中让复杂的项目正常运行可能非常具有挑战性。他们通常使用调试器或通过查看计算图来进行调试。

Theano 函数

  • 声明变量

我用 dscalar 方法声明了一个十进制标量变量。当下面的语句运行时,它会在您的程序代码中添加一个名为 C 的变量。

C = tensor.dscalar()
  • 定义 Theano 函数

该函数接受两个参数,第一个是输入,第二个是函数的输出。根据下面的声明,第一个参数是一个包含 C 和 D 两项的数组。结果是一个标量单位,指定为 E。

f = theano.function([C,D], E)

结论

我见过一个高技能的 Python 程序员迅速掌握新库的精妙之处并了解如何使用它。但是,无论是初学者、中级还是专家,选择一种编程语言还是在这种情况下选择一个库而不是另一个库,很大程度上取决于您项目的目标和需求。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关文章

python速学教程(入门到精通)
python速学教程(入门到精通)

python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

python 编程语言

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Uvicorn 报错与问题解决教程
Uvicorn 报错与问题解决教程

本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。

2026.11.02

0

14

Uvicorn使用教程
Uvicorn使用教程

本专题汇总了Uvicorn使用教程与启动运行指南,涵盖其作为Python ASGI服务器的定位与特点,以及命令行启动(uvicorn main:app --reload)、参数配置(host/port/workers)、程序内嵌运行与Gunicorn结合部署等核心用法。同时整理了热重载调试、日志配置与生产环境部署优化等技巧,助你快速掌握Uvicorn的运行与配置。

2026.11.02

0

17

Uvicorn安装配置教程
Uvicorn安装配置教程

本专题汇总了Uvicorn的安装配置教程与部署指南,涵盖通过pip安装Uvicorn、启动FastAPI/Starlette应用、开发模式热重载(--reload)及多进程工作模式配置等核心操作。同时整理了结合Gunicorn的生产部署方案、HTTPS与反向代理配置及性能调优技巧,助你快速完成Uvicorn服务的安装与上线部署。

2026.11.02

0

17

Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

100

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

80

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

240

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

140

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

140

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

100

15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
尚学堂Mahout视频教程
尚学堂Mahout视频教程

共18课时 | 3.8万人学习

Starlette官方安装与入门手册
Starlette官方安装与入门手册

共0课时 | 0人学习