NVIDIA Home NVIDIA Home Menu Menu icon Menu Menu icon Close Close icon Close Close icon Close Close icon Caret down icon Accordion is closed, click to open. Caret down icon Accordion is closed, click to open. Caret up icon Accordion is open, click to close. Caret right icon Click to expand Caret right icon Click to expand Caret right icon Click to expand menu. Caret left icon Click to collapse menu. Caret left icon Click to collapse menu. Caret left icon Click to collapse menu. Shopping Cart Click to see cart items Search icon Click to search
Skip to main content
NVIDIA 引领人工智能计算
  • 云服务
    BioNeMo

    适用于生命科学研究和发现的 AI 驱动平台

    DGX Cloud

    基于领先平台的完全托管式端到端 AI 平台

    NeMo

    构建、自定义和部署多模态生成式 AI

    Omniverse Cloud

    将先进的仿真和 AI 技术集成到复杂的 3D 工作流中

    NVIDIA NGC

    加速的、容器化的 AI 模型和 SDK

    数据中心
    概览

    借助 AI 和加速计算实现数据中心现代化

    DGX 平台

    用于模型开发和部署的企业 AI 工厂

    Grace CPU

    用于将数据转化为智能的数据中心架构

    HGX 平台

    专为 AI 和 HPC 打造的超级计算机

    IGX 平台

    适用于边缘 AI 的高级功能安全与信息安全

    MGX 平台

    使用模块化服务器进行加速计算

    OVX 系统

    适用于高性能 AI 的可扩展数据中心基础设施

    嵌入式系统
    Jetson

    适用于自主机器和嵌入式应用的领先平台

    DRIVE AGX

    强大的车载计算能力,适用于 AI 驱动的自动驾驶汽车系统

    Clara AGX

    适用于创新型医疗设备和成像的 AI 计算

    游戏和创作
    GeForce 显卡

    RTX 显卡带来颠覆性的 AI 功能

    笔记本电脑

    经 Max-Q 技术优化的轻薄耐用 RTX 笔记本电脑

    G-SYNC 显示器

    借助 NVIDIA G-SYNC 显示器,畅享流畅、无撕裂的游戏体验

    DLSS

    可提升帧率并增强画质的神经网络渲染技术

    RTX. It's On.

    先进的全景光线追踪和神经网络渲染技术平台

    Reflex

    出色的响应速度,可加快反应速度并提高瞄准精度

    RTX AI PC

    用于游戏、创作、生产力和开发的 AI PC

    NVIDIA Studio

    专为创作者打造的高性能笔记本电脑和台式机

    NVIDIA App

    优化游戏、直播和 AI 赋能的创意

    NVIDIA Broadcast 应用

    AI 增强的语音和视频,适用于更高级的流式传输、视频和通话

    显卡
    Blackwell 架构

    新工业革命的引擎

    Hopper 架构

    为每个数据中心提供高性能、可扩展性和安全性

    Ada Lovelace 架构

    性能和能效带来无限可能

    GeForce

    RTX 显卡带来颠覆性的 AI 功能

    NVIDIA RTX PRO

    加速专业 AI、图形、渲染和计算工作负载

    虚拟 GPU

    适用于可扩展高性能计算的虚拟解决方案

    笔记本电脑
    GeForce 笔记本电脑

    搭载 RTX GPU 的笔记本电脑,专为游戏玩家和创作者打造

    Studio 设计本

    专为创作者打造的高性能笔记本电脑

    NVIDIA RTX PRO 笔记本电脑

    随时随地加速专业 AI 和视觉计算

    网络
    概览

    适用于现代工作负载的加速网络

    DPU 和 SuperNIC

    软件定义的硬件加速器, 适用于网络、存储和安全

    以太网

    以太网在各种应用中的性能、可用性和易用性

    InfiniBand

    适用于超级计算机、AI 和云数据中心的高性能网络

    网络软件

    用于优化性能和可扩展性的网络软件

    网络加速

    适用于现代 GPU 加速数据中心的 IO 子系统

    专业工作站
    DGX Spark

    桌面上的 Grace Blackwell AI 超级计算机

    NVIDIA RTX PRO AI 工作站

    加速 AI 工作流的创新和生产力

    NVIDIA RTX PRO 台式机

    强大的 AI、图形、渲染和计算工作负载

    NVIDIA RTX PRO 笔记本电脑

    随时随地加速专业 AI 和视觉计算

    软件
    代理式 AI — Agent Intelligence Toolkit

    AI Blueprint

    AI 推理 — Dynamo

    AI 推理微服务 — NIM

    AI 微服务 — CUDA-X

    汽车 — DRIVE

    虚拟形象 — Tokkio

    汽车 — DRIVE

    网络安全 — Morpheus

    数据科学 — Apache Spark

    数据科学 — RAPIDS

    决策优化 — cuOpt

    生成式 AI — NeMo

    医疗健康 — Clara

    工业 AI — Omniverse

    智能视频分析 — Metropolis

    NVIDIA Mission Control

    NVIDIA AI Enterprise 平台

    物理 AI — Cosmos

    NVIDIA Run:ai

    机器人 — Isaac

    电信行业 — Aerial

    查看所有软件

    工具
    AI Workbench

    借助 GPU 上的 NVIDIA AI Workbench 简化 AI 开发

    API Catalog

    探索面向开发者的 NVIDIA AI 模型、Blueprint 和工具

    数据中心管理

    适用于数据中心加速的 AI 和 HPC 软件解决方案

    GPU 监控

    监控和管理集群环境中的 GPU 性能

    Nsight

    探索适用于 AI、图形和 HPC 的 NVIDIA 开发者工具

    NGC 目录

    探索 GPU 优化的 AI、HPC 和数据科学软件

    适用于笔记本电脑的 NVIDIA App

    优化企业 GPU 管理

    NVIDIA NGC

    借助 NVIDIA GPU Cloud 解决方案加速 AI 和 HPC 工作负载

    桌面管理器

    借助 NVIDIA RTX Desktop Manager 提高多显示器工作效率

    RTX 加速的创意应用

    专为艺术家和设计师打造的创意工具和 AI 赋能的应用

    视频会议

    AI 赋能的音频和视频增强

  • 人工智能
    概览

    借助 AI 和机器学习提高业务的智能和效率

    代理式 AI

    构建用于推理、规划和行动的 AI 智能体

    AI 数据

    为适用于 AI 的新型企业基础架构提供支持

    对话式 AI

    借助实时语音 AI 实现自然、个性化的交互

    网络安全

    AI 驱动的解决方案,可增强网络安全和 AI 基础设施

    数据科学

    在大型数据集上进行迭代,更频繁地部署模型,并降低总成本

    生成式 AI

    即时运行和部署生成式 AI

    推理

    借助 AI 赋能的应用和服务实现突破性性能

    云和数据中心
    概览

    借助 NVIDIA 为 AI、HPC 和现代工作负载提供支持

    面向企业的 AI 数据平台

    将企业存储带入代理式 AI 时代

    加速计算

    加速计算使用专用硬件来提升 IT 性能

    云计算

    按需提供 IT 资源和服务,实现可扩展性和智能见解

    托管

    加速 AI 在整个组织中的扩展

    MLOps

    借助 MLOps 加速 AI

    网络

    高速以太网互连解决方案和服务

    可持续计算

    借助 AI 和加速计算节省能源并降低成本

    可视化

    NVIDIA 虚拟 GPU 软件提供强大的 GPU 性能

    设计和仿真
    概览

    简化元宇宙应用的构建、运营和连接

    计算机辅助工程

    使用 AI 加速的实时数字孪生开发实时交互式设计

    数字孪生开发

    利用基于物理性质的大规模 OpenUSD 仿真的强大功能

    渲染

    将先进的渲染技术引入专业工作流程

    机器人仿真

    创新解决方案,助您应对机器人开发、边缘和视觉 AI 挑战

    科学可视化

    使研究人员能够以交互式速度可视化其大型数据集

    汽车仿真

    AI 定义的汽车正在改变移动出行的未来

    扩展现实

    通过在虚拟环境中进行沉浸式、可扩展的交互,转变工作流

    高性能计算
    概览

    探索适用于 AI、模拟和加速计算的 NVIDIA HPC 解决方案

    HPC 和 AI

    借助 GPU 加速的 HPC 和 AI 提高准确性

    科学可视化

    使研究人员能够以交互式速度可视化大型数据集

    仿真和建模

    加速仿真工作负载

    量子计算

    借助 QPU 快速推进科学创新

    机器人和边缘AI
    概览

    用于应对机器人、边缘端和视觉 AI 挑战的创新解决方案

    机器人

    GPU 加速的 AI 感知、仿真和软件进展

    边缘 AI

    将 NVIDIA AI 的强大功能带到边缘,提供实时决策解决方案

    视觉 AI

    借助视觉 AI 将数据转化为有价值的见解

    自动驾驶汽车
    概览

    AI 增强型汽车正在改变移动出行的未来

    基础设施

    安全自动驾驶汽车开发所需的数据中心工具

    模拟

    探索用于安全自动驾驶汽车开发的高保真传感器仿真

    车载计算

    开发自动驾驶功能和沉浸式车内体验

    安全

    从云端到车端的先进自动驾驶汽车安全系统

  • 行业
    概览
    建筑、工程、施工和运营
    汽车
    消费互联网
    网络安全
    能源
    金融服务
    医疗健康和生命科学
    高等教育
    游戏开发
    全球公共部门
    制造业
    媒体和娱乐
    餐饮
    零售和快速消费品
    机器人
    智慧城市
    超级计算
    电信
    交通运输
  • 驱动
  • 支持
  • 0
  • 登录 登出
Skip to main content
  • 0
  • Login LogOut
NVIDIA NVIDIA logo
BioNeMo

适用于生命科学研究和发现的 AI 驱动平台

DGX Cloud

基于领先平台的完全托管式端到端 AI 平台

NeMo

构建、自定义和部署多模态生成式 AI

Omniverse Cloud

将先进的仿真和 AI 技术集成到复杂的 3D 工作流中

NVIDIA NGC

加速的、容器化的 AI 模型和 SDK

概览

借助 AI 和加速计算实现数据中心现代化

DGX 平台

用于模型开发和部署的企业 AI 工厂

Grace CPU

用于将数据转化为智能的数据中心架构

HGX 平台

专为 AI 和 HPC 打造的超级计算机

IGX 平台

适用于边缘 AI 的高级功能安全与信息安全

MGX 平台

使用模块化服务器进行加速计算

OVX 系统

适用于高性能 AI 的可扩展数据中心基础设施

Jetson

适用于自主机器和嵌入式应用的领先平台

DRIVE AGX

强大的车载计算能力,适用于 AI 驱动的自动驾驶汽车系统

Clara AGX

适用于创新型医疗设备和成像的 AI 计算

GeForce 显卡

RTX 显卡带来颠覆性的 AI 功能

笔记本电脑

经 Max-Q 技术优化的轻薄耐用 RTX 笔记本电脑

G-SYNC 显示器

借助 NVIDIA G-SYNC 显示器,畅享流畅、无撕裂的游戏体验

DLSS

可提升帧率并增强画质的神经网络渲染技术

RTX. It's On.

先进的全景光线追踪和神经网络渲染技术平台

Reflex

出色的响应速度,可加快反应速度并提高瞄准精度

RTX AI PC

用于游戏、创作、生产力和开发的 AI PC

NVIDIA Studio

专为创作者打造的高性能笔记本电脑和台式机

NVIDIA App

优化游戏、直播和 AI 赋能的创意

NVIDIA Broadcast 应用

AI 增强的语音和视频,适用于更高级的流式传输、视频和通话

Blackwell 架构

新工业革命的引擎

Hopper 架构

为每个数据中心提供高性能、可扩展性和安全性

Ada Lovelace 架构

性能和能效带来无限可能

GeForce

RTX 显卡带来颠覆性的 AI 功能

NVIDIA RTX PRO

加速专业 AI、图形、渲染和计算工作负载

虚拟 GPU

适用于可扩展高性能计算的虚拟解决方案

GeForce 笔记本电脑

搭载 RTX GPU 的笔记本电脑,专为游戏玩家和创作者打造

Studio 设计本

专为创作者打造的高性能笔记本电脑

NVIDIA RTX PRO 笔记本电脑

随时随地加速专业 AI 和视觉计算

概览

适用于现代工作负载的加速网络

DPU 和 SuperNIC

软件定义的硬件加速器, 适用于网络、存储和安全

以太网

以太网在各种应用中的性能、可用性和易用性

InfiniBand

适用于超级计算机、AI 和云数据中心的高性能网络

网络软件

用于优化性能和可扩展性的网络软件

网络加速

适用于现代 GPU 加速数据中心的 IO 子系统

DGX Spark

桌面上的 Grace Blackwell AI 超级计算机

NVIDIA RTX PRO AI 工作站

加速 AI 工作流的创新和生产力

NVIDIA RTX PRO 台式机

强大的 AI、图形、渲染和计算工作负载

NVIDIA RTX PRO 笔记本电脑

随时随地加速专业 AI 和视觉计算

代理式 AI — Agent Intelligence Toolkit

AI Blueprint

AI 推理 — Dynamo

AI 推理微服务 — NIM

AI 微服务 — CUDA-X

汽车 — DRIVE

虚拟形象 — Tokkio

汽车 — DRIVE

网络安全 — Morpheus

数据科学 — Apache Spark

数据科学 — RAPIDS

决策优化 — cuOpt

生成式 AI — NeMo

医疗健康 — Clara

工业 AI — Omniverse

智能视频分析 — Metropolis

NVIDIA Mission Control

NVIDIA AI Enterprise 平台

物理 AI — Cosmos

NVIDIA Run:ai

机器人 — Isaac

电信行业 — Aerial

查看所有软件

AI Workbench

借助 GPU 上的 NVIDIA AI Workbench 简化 AI 开发

API Catalog

探索面向开发者的 NVIDIA AI 模型、Blueprint 和工具

数据中心管理

适用于数据中心加速的 AI 和 HPC 软件解决方案

GPU 监控

监控和管理集群环境中的 GPU 性能

Nsight

探索适用于 AI、图形和 HPC 的 NVIDIA 开发者工具

NGC 目录

探索 GPU 优化的 AI、HPC 和数据科学软件

适用于笔记本电脑的 NVIDIA App

优化企业 GPU 管理

NVIDIA NGC

借助 NVIDIA GPU Cloud 解决方案加速 AI 和 HPC 工作负载

桌面管理器

借助 NVIDIA RTX Desktop Manager 提高多显示器工作效率

RTX 加速的创意应用

专为艺术家和设计师打造的创意工具和 AI 赋能的应用

视频会议

AI 赋能的音频和视频增强

概览

借助 AI 和机器学习提高业务的智能和效率

代理式 AI

构建用于推理、规划和行动的 AI 智能体

AI 数据

为适用于 AI 的新型企业基础架构提供支持

对话式 AI

借助实时语音 AI 实现自然、个性化的交互

网络安全

AI 驱动的解决方案,可增强网络安全和 AI 基础设施

数据科学

在大型数据集上进行迭代,更频繁地部署模型,并降低总成本

生成式 AI

即时运行和部署生成式 AI

推理

借助 AI 赋能的应用和服务实现突破性性能

概览

借助 NVIDIA 为 AI、HPC 和现代工作负载提供支持

面向企业的 AI 数据平台

将企业存储带入代理式 AI 时代

加速计算

加速计算使用专用硬件来提升 IT 性能

云计算

按需提供 IT 资源和服务,实现可扩展性和智能见解

托管

加速 AI 在整个组织中的扩展

MLOps

借助 MLOps 加速 AI

网络

高速以太网互连解决方案和服务

可持续计算

借助 AI 和加速计算节省能源并降低成本

可视化

NVIDIA 虚拟 GPU 软件提供强大的 GPU 性能

概览

简化元宇宙应用的构建、运营和连接

计算机辅助工程

使用 AI 加速的实时数字孪生开发实时交互式设计

数字孪生开发

利用基于物理性质的大规模 OpenUSD 仿真的强大功能

渲染

将先进的渲染技术引入专业工作流程

机器人仿真

创新解决方案,助您应对机器人开发、边缘和视觉 AI 挑战

科学可视化

使研究人员能够以交互式速度可视化其大型数据集

汽车仿真

AI 定义的汽车正在改变移动出行的未来

扩展现实

通过在虚拟环境中进行沉浸式、可扩展的交互,转变工作流

概览

探索适用于 AI、模拟和加速计算的 NVIDIA HPC 解决方案

HPC 和 AI

借助 GPU 加速的 HPC 和 AI 提高准确性

科学可视化

使研究人员能够以交互式速度可视化大型数据集

仿真和建模

加速仿真工作负载

量子计算

借助 QPU 快速推进科学创新

概览

用于应对机器人、边缘端和视觉 AI 挑战的创新解决方案

机器人

GPU 加速的 AI 感知、仿真和软件进展

边缘 AI

将 NVIDIA AI 的强大功能带到边缘,提供实时决策解决方案

视觉 AI

借助视觉 AI 将数据转化为有价值的见解

概览

AI 增强型汽车正在改变移动出行的未来

基础设施

安全自动驾驶汽车开发所需的数据中心工具

模拟

探索用于安全自动驾驶汽车开发的高保真传感器仿真

车载计算

开发自动驾驶功能和沉浸式车内体验

安全

从云端到车端的先进自动驾驶汽车安全系统

概览
建筑、工程、施工和运营
汽车
消费互联网
网络安全
能源
金融服务
医疗健康和生命科学
高等教育
游戏开发
全球公共部门
制造业
媒体和娱乐
餐饮
零售和快速消费品
机器人
智慧城市
超级计算
电信
交通运输
    • 驱动
    • 支持
  • 人工智能
    行业
    解决方案
    • 概览
    • 代理式 AI
    • AI 数据
    • AI 推理
    • 对话式 AI
    • 网络安全
    • 数据科学
    • 生成式 AI
    软件
    • AI 企业平台
    • 代理式 AI - NVIDIA Agent Intelligence Toolkit
    • AI Blueprint
    • AI Foundry
    • AI 推理 - Dynamo
    • AI 推理微服务 - NIM
    • AI 微服务 - CUDA-X
    • 虚拟形象 - Tokkio
    • 网络安全 - Morpheus
    • 数据科学 - RAPIDS
      • 概览
      • Apache Spark
    • 决策优化 - cuOpt
    • 生成式 AI - NeMo
    • 物理 AI - Cosmos
    • 语音 AI – Riva
    • 开始体验
      • API 目录
      • NGC 概述
      • NGC 软件目录
      • 开源软件
      • AI Workbench
    产品
    • 笔记本电脑和工作站
    • 数据中心
    • 云计算
    • DGX Cloud
    资源
    • AI 博客
    • AI Podcast
    • 内容库
    • 客户案例
    • 开发者教育
    • 文档
    • 术语表
    • GTC AI 大会
    • Kaggle Grandmaster
    • 专业服务
    • 研究
    • 初创公司和 VC
    • 技术博客
    • NVIDIA 培训和认证
    • 面向 IT 专业人员培训和认证
    • 可信任 AI
    • 用例
    • 行业
    • 解决方案
      • 代理式 AI
      • AI 数据
      • AI 推理
      • 对话式 AI
      • 网络安全
      • 数据科学
      • 生成式 AI
    • 软件
      • AI 企业平台
      • 代理式 AI - NVIDIA Agent Intelligence Toolkit
      • AI Blueprint
      • AI Foundry
      • AI 推理 - Dynamo
      • AI 推理微服务 - NIM
      • AI 微服务 - CUDA-X
      • 虚拟形象 - Tokkio
      • 网络安全 - Morpheus
      • 数据科学 - RAPIDS
      • 决策优化 - cuOpt
      • 生成式 AI - NeMo
      • 物理 AI - Cosmos
      • 语音 AI – Riva
      • 开始体验
    • 产品
      • 笔记本电脑和工作站
      • 数据中心
      • 云计算
      • DGX Cloud
    • 资源
      • AI 博客
      • AI Podcast
      • 内容库
      • 客户案例
      • 开发者教育
      • 文档
      • 术语表
      • GTC AI 大会
      • Kaggle Grandmaster
      • 专业服务
      • 研究
      • 初创公司和 VC
      • 技术博客
      • NVIDIA 培训和认证
      • 面向 IT 专业人员培训和认证
      • 可信任 AI
      • 用例
    • 行业
    • 解决方案
      • 解决方案
      • 概览
      • 代理式 AI
      • AI 数据
      • AI 推理
      • 对话式 AI
      • 网络安全
      • 数据科学
      • 生成式 AI
    • 软件
      • 软件
      • AI 企业平台
      • 代理式 AI - NVIDIA Agent Intelligence Toolkit
      • AI Blueprint
      • AI Foundry
      • AI 推理 - Dynamo
      • AI 推理微服务 - NIM
      • AI 微服务 - CUDA-X
      • 虚拟形象 - Tokkio
      • 网络安全 - Morpheus
      • 数据科学 - RAPIDS
        • 数据科学 - RAPIDS
        • 概览
        • Apache Spark
      • 决策优化 - cuOpt
      • 生成式 AI - NeMo
      • 物理 AI - Cosmos
      • 语音 AI – Riva
      • 开始体验
        • 开始体验
        • API 目录
        • NGC 概述
        • NGC 软件目录
        • 开源软件
        • AI Workbench
    • 产品
      • 产品
      • 笔记本电脑和工作站
      • 数据中心
      • 云计算
      • DGX Cloud
    • 资源
      • 资源
      • AI 博客
      • AI Podcast
      • 内容库
      • 客户案例
      • 开发者教育
      • 文档
      • 术语表
      • GTC AI 大会
      • Kaggle Grandmaster
      • 专业服务
      • 研究
      • 初创公司和 VC
      • 技术博客
      • NVIDIA 培训和认证
      • 面向 IT 专业人员培训和认证
      • 可信任 AI
      • 用例
    数据科学电子书
    • 关于本书
    • 前言:GPU 正在推动数据科学发展
      • 概览
      • 数据分析的发展
      • 大数据的开端
      • 适用于大数据的 Apache Spark
      • GPU 加快处理速度
      • GPU 加速的数据科学
      • RAPIDS 数据科学框架
      • GPU 的实际应用
    • Spark 简介
      • 概览
      • Spark 如何执行
      • 根据文件创建 DataFrame
      • DataFrame transformation 和 action 操作
      • DataFrame 依赖项
    • Spark 应用程序的执行
      • 概览
      • 查看物理规划
      • 在集群上执行任务
    • Spark SQL 和 DataFrame
      • 概览
      • DataFrame 和 Spark SQL 的优势
      • 优化内存使用率
      • 查询优化
      • 使用 Spark SQL 探索数据
      • 从文件加载数据
      • 使用 Spark SQL
      • 使用 Spark Web UI
      • 总结
    • GPU 加速的 Spark 3
      • 概览
      • Spark 3 和 GPU
      • Spark 中加速的 ETL 和 AI
      • 新的 GPU 加速库
      • GPU 加速的 Spark DataFrame
      • 总结
    • 开始使用 Spark 3
      • 概览
      • 安装和配置
      • 使用物理规划进行监控
      • 调试
      • GPU 显存不足
      • 总结
    • 利用 ML 预测房价
      • 概览
      • 分类和回归
      • 回归
      • 决策树
      • 随机森林
      • 机器学习工作流程
      • 使用 Spark ML 流程
      • 用例数据集示例
      • 将文件中的数据加载到 DataFrame
      • 汇总统计
      • 特征提取和流程
      • 训练模型
      • 预测和模型评估
      • 保存模型
      • 概要
    • 利用 XGBoost 预测出租车费用
      • 概览
      • XGBoost
      • GPU 加速的 XGBoost
      • 定义特征数组
      • 保存模型
      • 总结
    • 附录:代码、资源和作者

    使用 GPU 加速的 XGBoost 预测出租车费用

    大数据是用于改善城市生活的 10 大领域之一。通过分析城市内的位置信息和行为模式,相关人员可以优化交通、作出更明智的规划决策,并提升广告的智能性。例如,通过分析 GPS 汽车数据,相关人员可以根据城市的实时交通信息优化交通流量。电信公司可利用手机定位数据,通过识别和预测大都市地区的位置活动趋势和人口模式来提供分析洞见。而且,现已证明,将机器学习 (ML) 应用于地理位置数据对于确定电信、旅游、市场营销和制造业的行业模式和发展趋势大有帮助。

    在本章中,我们将使用纽约出租车行程公开数据来检验出租车行程数据的回归分析,因为该数据与预测纽约市出租车费用较为相关。首先,我们将概述 XGBoost 算法,然后探讨用例。

    XGBoost

    XGBoost 即极端梯度提升,是可扩展的分布式梯度提升决策树 (GBDT) 机器学习库。XGBoost 提供并行树提升功能,是应用于回归、分类和排序问题的出色 ML 库。RAPIDS 团队与 Distributed Machine Learning Common (DMLC) XGBoost 组织建立了紧密的合作关系,而且 XGBoost 现已加入无缝嵌入式 GPU 加速特性,可显著加快模型训练速度并提高准确性,从而得出更精确的预测结果。

    梯度提升决策树 (GBDT) 是类似于随机森林的决策树集成算法,两者的区别在于树的构建和组合方式。随机森林使用名为 Bagging 的技术,通过数据集的自助抽样样本并行构建完整的决策树。最终得到的预测结果是所有决策树预测结果的平均值。梯度提升决策树使用名为 Boosting 的技术对一组浅层决策树进行迭代训练,每次迭代都会使用为前一个样本中的记录所赋予的权重(并未正确预测),从而减少后继树的错误。最终得到的预测结果是所有决策树预测结果的加权平均值。Bagging 可大幅减少差异和过拟合,而 Boosting 则可大幅减少偏差和欠拟合。

    XGBoost 是 GBDT 的变体。使用 GBDT 时,决策树可按顺序构建。使用 XGBoost 时,决策树为并行构建,遵循 level-wise 生长策略,扫描梯度值并使用这些部分和来评估训练集中每个可分割点的分割质量。 

    GPU 加速的 XGBoost

    GPU 加速的 XGBoost 算法利用并行前缀快速求和运算来扫描所有可能的分割,并通过并行基数排序对数据进行重新分区。此算法针对给定的提升迭代构建决策树,一次生成一层,并在 GPU 上同时处理整个数据集。

    GPU 加速的 Spark XGBoost 提供以下关键特性:

    • 跨多个 GPU 的 ORC、CSV 和 Parquet 输入文件分区
      几乎任意数量或大小的受支持格式输入文件均可在不同的训练节点之间平均分配。
    • GPU 加速的训练
      XGBoost 训练时间通过训练数据的动态内存表示形式(基于数据集的稀疏性来充分优化存储特性)减少,而不是通过固定内存表示形式(基于不同训练实例中最大数量特性)减少。决策树使用梯度对构建,而梯度对可通过重复使用来节省内存,从而减少副本以提高性能。
    • 高效的 GPU 显存利用
      XGBoost 要求将数据装入显存,从而对使用单个 GPU 或分布式多 GPU 多节点训练的数据大小进行限制。现在,随着 GPU 显存利用率提高,用户可以训练的数据量已达到第一版的五倍。这是在不影响性能的前提下降低培训总成本的关键因素之一。

    用例数据集示例

    示例数据集为纽约出租车数据集,该数据集已经过清理和转换,可添加特征,如使用此 Spark ETL notebook 的 Haversine 距离。

    在此场景中,我们将基于以下特征构建模型,进而预测出租车费用:

    • 标签 🡪 车费
    • 特征 🡪 {passenger count, trip distance, pickup longitude, pickup latitude, rate code, dropoff longitude, dropoff latitude, hour, day of week, is weekend}

    将文件中的数据加载到 DataFrame

    首先,我们导入 Spark XGBoost 的 GPU 版本和 CPU 版本所需的软件包:

    import org.apache.spark.sql.functions._
    import org.apache.spark.sql.types._
    import org.apache.spark.sql._
    import org.apache.spark.ml._
    import org.apache.spark.ml.feature._
    import org.apache.spark.ml.evaluation._
    import org.apache.spark.sql.types._
    import ml.dmlc.xgboost4j.scala.spark.{XGBoostRegressor, XGBoostRegressionModel}

    使用 Spark XGBoost 的 GPU 版本时,您还需要进行以下导入操作:

    import ml.dmlc.xgboost4j.scala.spark.rapids.{GpuDataReader, GpuDataset}

    我们使用 Spark StructType 指定模式。

    lazy val schema =
      StructType(Array(
        StructField("vendor_id", DoubleType),
        StructField("passenger_count", DoubleType),
        StructField("trip_distance", DoubleType),
        StructField("pickup_longitude", DoubleType),
        StructField("pickup_latitude", DoubleType),
        StructField("rate_code", DoubleType),
        StructField("store_and_fwd", DoubleType),
        StructField("dropoff_longitude", DoubleType),
        StructField("dropoff_latitude", DoubleType),
        StructField(labelName, DoubleType),
        StructField("hour", DoubleType),
        StructField("year", IntegerType),
        StructField("month", IntegerType),
        StructField("day", DoubleType),
        StructField("day_of_week", DoubleType),
        StructField("is_weekend", DoubleType)
      )) 

    在以下代码中,我们创建 Spark 会话并设置训练和评估数据文件路径。(请注意:如果您使用 notebook,则不必创建 SparkSession。)

    val trainPath = "/FileStore/tables/taxi_tsmall.csv"
    val evalPath  = "/FileStore/tables/taxi_esmall.csv"
    val spark = SparkSession.builder().appName("Taxi-GPU").getOrCreate

    我们将 CSV 文件的数据加载到 Spark DataFrame 中,并指定要加载到 DataFrame 中的数据源和模式,具体如下所示。

    val tdf = spark.read.option("inferSchema",
    "false").option("header", true).schema(schema).csv(trainPath)
    val edf = spark.read.option("inferSchema", "false").option("header",
    true).schema(schema).csv(evalPath)

    DataFrame show(5) 显示前 5 行:

    tdf.select("trip_distance", "rate_code","fare_amount").show(5)
    result:
    +------------------+-------------+-----------+
    |     trip_distance|    rate_code|fare_amount|
    +------------------+-------------+-----------+
    |              2.72|-6.77418915E8|       11.5|
    |              0.94|-6.77418915E8|        5.5|
    |              3.63|-6.77418915E8|       13.0|
    |             11.86|-6.77418915E8|       33.5|
    |              3.03|-6.77418915E8|       11.0|
    +------------------+-------------+-----------+

    函数 Describe 返回一个 DataFrame,其中包含描述性汇总统计信息,例如计数、均值、标准差以及每个数字列的最小值和最大值。

    tdf.select("trip_distance", "rate_code","fare_amount").describe().show
    +-------+------------------+--------------------+------------------+
    |summary|     trip_distance|           rate_code|       fare_amount|
    +-------+------------------+--------------------+------------------+
    |  count|              7999|                7999|              7999|
    |   mean| 3.278923615451919|-6.569284350812602E8|12.348543567945994|
    | stddev|3.6320775770793547|1.6677419425906155E8|10.221929466939088|
    |    min|               0.0|       -6.77418915E8|               2.5|
    |    max|35.970000000000006|       1.957796822E9|             107.5|
    +-------+------------------+--------------------+------------------+

    以下散点图用于探讨车费与行程距离之间的相关性。

    %sql
    select trip_distance, fare_amount
    from taxi

    定义特征数组

    需要将由 ML 算法使用的特征进行转换,并将其放入特征向量,这些向量是代表每个特征值的数字向量。如下所示,我们使用 VectorAssembler 转换器返回带有标签和向量特征列的新 DataFrame。 

    // 特征列名称
    val featureNames = Array("passenger_count","trip_distance", "pickup_longitude","pickup_latitude","rate_code","dropoff_longitude", "dropoff_latitude", "hour", "day_of_week","is_weekend")
    // 创建转换器
    object Vectorize {
      def apply(df: DataFrame, featureNames: Seq[String], labelName: String): DataFrame = {
        val toFloat = df.schema.map(f => col(f.name).cast(FloatType))
        new VectorAssembler()
          .setInputCols(featureNames.toArray)
          .setOutputCol("features")
          .transform(df.select(toFloat:_*))
          .select(col("features"), col(labelName))
      }
    }
    // transform 方法添加特征列
    var trainSet = Vectorize(tdf, featureNames, labelName)
    var evalSet = Vectorize(edf, featureNames, labelName)
    trainSet.take(1)
    result:
    res8: Array[org.apache.spark.sql.Row] =
    Array([[5.0,2.7200000286102295,-73.94813537597656,40.82982635498047,-6.77418944E8,-73.96965026855469,40.79747009277344,10.0,6.0,1.0],11.5])

    使用 XGBoost GPU 版本时,不需使用 VectorAssembler。

    使用 CPU 版本时,应将 num_workers 设置为 CPU 内核数,将 tree_method 设置为“hist”,并在 Vector Assembler 中将特征列设置为输出特征列。

    lazy val paramMap = Map(
      "learning_rate" -> 0.05,
      "max_depth" -> 8,
      "subsample" -> 0.8,
      "gamma" -> 1,
      "num_round" -> 500
    )
    // 设置 xgboost 参数
    val xgbParamFinal = paramMap ++ Map("tree_method" -> "hist", "num_workers" -> 12)
    // 创建 xgboostregressor 估测器
    val xgbRegressor = new XGBoostRegressor(xgbParamFinal)
          .setLabelCol(labelName)
          .setFeaturesCol("features")

    使用 GPU 版本时,应将 num_workers 设置为 Spark 集群中具有 GPU 的计算机的数量,将 tree_method 设置为“gpu_hist”,并将特征列设置为包含特征名称的字符串数组。

    val xgbParamFinal = paramMap ++ Map("tree_method" -> "gpu_hist",
    "num_workers" -> 1)
    // 创建估测器
    val xgbRegressor = new XGBoostRegressor(xgbParamFinal)
      .setLabelCol(labelName)
      .setFeaturesCols(featureNames)

    以下代码在训练数据集上使用 XGBoostRegressor 估测器拟合方法来训练并返回 XGBoostRegressor 模型。此外,我们还使用时间方法返回训练模型的时间,并使用此方法对采用 CPU 和 GPU 的训练时间进行比较。

    object Benchmark {
      def time[R](phase: String)(block: => R): (R, Float) = {
        val t0 = System.currentTimeMillis
        val result = block // call-by-name
        val t1 = System.currentTimeMillis
        println("Elapsed time [" + phase + "]: " + 
        ((t1 - t0).toFloat / 1000) + "s")
        (result, (t1 - t0).toFloat / 1000)
      }
    }
    // 使用估测器来拟合(训练)模型
    val (model, _) = Benchmark.time("train") {
      xgbRegressor.fit(trainSet)
    }

    尚未用于训练的评估数据集也可用于评估模型的性能。我们使用模型转换方法对测试数据进行预测。 

    此模型将使用经训练的 XGBoost 模型进行估测,然后在返回的 DataFrame 的新预测列中返回车费预测结果。此处,我们再次使用基准测试时间方法来比较预测时间。 

    val (prediction, _) = Benchmark.time("transform") {
      val ret = model.transform(evalSet).cache()
      ret.foreachPartition(_ => ())
      ret
    }
    prediction.select( labelName, "prediction").show(10)
    Result:
    +-----------+------------------+
    |fare_amount|        prediction|
    +-----------+------------------+
    |        5.0| 4.749197959899902|
    |       34.0|38.651187896728516|
    |       10.0|11.101678848266602|
    |       16.5| 17.23284912109375|
    |        7.0| 8.149757385253906|
    |        7.5|7.5153608322143555|
    |        5.5| 7.248467922210693|
    |        2.5|12.289423942565918|
    |        9.5|10.893491744995117|
    |       12.0| 12.06682014465332|
    +-----------+------------------+

    RegressionEvaluator 评估方法将计算预测列和标签列的均方根误差,即均方误差的平方根。 

    val evaluator = new RegressionEvaluator().setLabelCol(labelName)
    val (rmse, _) = Benchmark.time("evaluation") {
      evaluator.evaluate(prediction)
    }
    println(s"RMSE == $rmse")
    Result:
    Elapsed time [evaluation]: 0.356s
    RMSE == 2.6105287283128353

    保存模型

    如下所示,可将模型保存到磁盘,以便以后使用。

    model.write.overwrite().save(savepath)

    保存模型可得到一个元数据的 JSON 文件和一个模型数据的 Parquet 文件。我们可以使用加载命令重新加载模型。原始模型和重新加载的模型相同。

    val sameModel = XGBoostRegressionModel.load(savepath)

    总结

    在本章中,我们介绍了 XGBoost 的工作原理,以及如何将 XGBoost 回归和 Spark 结合使用来预测出租车费用。现在,您可以利用大型数据集,在 CPU 和 GPU 上运行此示例,以比较预测的时间和准确性。

    请您注册以阅读全文

    Welcome back. Not you? 登出
    Welcome back. Not you? Clear form
    1. Section
    • Section
    Section
    中国大陆
    • 地点
    • 阿富汗
    • 奥兰群岛
    • 阿尔巴尼亚
    • 阿尔及利亚
    • 美属萨摩亚
    • 安道尔
    • 安哥拉
    • 安圭拉
    • 南极洲
    • 安提瓜和巴布达
    • 阿根廷
    • 亚美尼亚
    • 阿鲁巴
    • 澳大利亚
    • 奥地利
    • 阿塞拜疆
    • 巴哈马
    • 巴林
    • 孟加拉国
    • 巴巴多斯
    • 白俄罗斯
    • 比利时
    • 伯利兹
    • 贝宁
    • 百慕大
    • 不丹
    • 玻利维亚
    • 博奈尔岛、圣尤斯特歇斯岛和萨巴岛
    • 波斯尼亚和黑塞哥维那
    • 博茨瓦纳
    • 布韦岛
    • 巴西
    • 英属印度洋领地
    • 英属维尔京群岛
    • 文莱达鲁萨兰国
    • 保加利亚
    • 布基纳法索
    • 布隆迪
    • 柬埔寨
    • 喀麦隆
    • 加拿大
    • 佛得角
    • 开曼群岛
    • 中非共和国
    • 乍得
    • 智利
    • 中国大陆
    • 圣诞岛
    • 科科斯(基林)群岛
    • 哥伦比亚
    • 科摩罗
    • 刚果(布)
    • 刚果(金)
    • 库克群岛
    • 哥斯达黎加
    • 科特迪瓦
    • 克罗地亚
    • 古巴
    • 库拉索
    • 塞浦路斯
    • 捷克共和国
    • 丹麦
    • 吉布提
    • 多米尼加
    • 多米尼加共和国
    • 厄瓜多尔
    • 埃及
    • 萨尔瓦多
    • 赤道几内亚
    • 厄立特里亚
    • 爱沙尼亚
    • 斯威士兰
    • 埃塞俄比亚
    • 福克兰群岛(马尔维纳斯群岛)
    • 法罗群岛
    • 斐济
    • 芬兰
    • 法国
    • 法属圭亚那
    • 法属波利尼西亚
    • 法属南部和南极领地
    • 加蓬
    • 冈比亚
    • 格鲁吉亚
    • 德国
    • 加纳
    • 直布罗陀
    • 希腊
    • 格陵兰
    • 格林纳达
    • 瓜德罗普岛
    • 关岛
    • 危地马拉
    • 根西岛
    • 几内亚
    • 几内亚比绍
    • 圭亚那
    • 海地
    • 赫德岛和麦克唐纳群岛
    • 洪都拉斯
    • 香港
    • 匈牙利
    • 冰岛
    • 印度
    • 印度尼西亚
    • 伊朗
    • 伊拉克
    • 爱尔兰
    • 马恩岛
    • 以色列
    • 意大利
    • 牙买加
    • 日本
    • 泽西岛
    • 约旦
    • 哈萨克斯坦
    • 肯尼亚
    • 基里巴斯
    • 朝鲜
    • 韩国
    • 科威特
    • 吉尔吉斯斯坦
    • 老挝人民民主共和国
    • 拉脱维亚
    • 黎巴嫩
    • 莱索托
    • 利比里亚
    • 利比亚
    • 列支敦士登
    • 立陶宛
    • 卢森堡
    • 澳门
    • 马达加斯加
    • 马拉维
    • 马来西亚
    • 马尔代夫
    • 马里
    • 马耳他
    • 马绍尔群岛
    • 马提尼克岛
    • 毛里塔尼亚
    • 毛里求斯
    • 马约特岛
    • 墨西哥
    • 密克罗尼西亚联邦
    • 摩尔多瓦共和国
    • 摩洛哥
    • 蒙古
    • 黑山
    • 蒙特塞拉特
    • 摩洛哥
    • 莫桑比克
    • 缅甸
    • 纳米比亚
    • 瑙鲁
    • 尼泊尔
    • 新喀里多尼亚
    • 新西兰
    • 尼加拉瓜
    • 尼日尔
    • 尼日利亚
    • 纽埃
    • 诺福克岛
    • 北马其顿
    • 北马里亚纳群岛
    • 挪威
    • 阿曼
    • 巴基斯坦
    • 帕劳
    • 巴勒斯坦国
    • 巴拿马
    • 巴布亚新几内亚
    • 巴拉圭
    • 秘鲁
    • 菲律宾
    • 皮特凯恩
    • 波兰
    • 葡萄牙
    • 波多黎各
    • 卡塔尔
    • 留尼汪
    • 罗马尼亚
    • 俄罗斯
    • 卢旺达
    • 圣赫勒拿岛
    • 圣基茨和尼维斯
    • 圣卢西亚
    • 圣皮埃尔和密克隆群岛
    • 圣文森特和格林纳丁斯
    • 圣巴泰勒米
    • 圣马丁(法属部分)
    • 萨摩亚
    • 圣马力诺
    • 圣多美和普林西比
    • 沙特阿拉伯
    • 塞内加尔
    • 塞尔维亚
    • 塞舌尔
    • 塞拉利昂
    • 新加坡
    • 荷属圣马丁
    • 斯洛伐克
    • 斯洛文尼亚
    • 所罗门群岛
    • 索马里
    • 南非
    • 南乔治亚和南桑威奇群岛
    • 南苏丹
    • 西班牙
    • 斯里兰卡
    • 苏丹
    • 苏里南
    • 斯瓦尔巴特群岛和扬马延岛
    • 瑞典
    • 瑞士
    • 叙利亚
    • 台湾
    • 塔吉克斯坦
    • 坦桑尼亚
    • 泰国
    • 荷兰
    • 东帝汶
    • 多哥
    • 托克劳
    • 汤加
    • 特立尼达和多巴哥
    • 突尼斯
    • 土耳其
    • 土库曼斯坦
    • 特克斯和凯科斯群岛
    • 图瓦卢
    • 乌干达
    • 乌克兰
    • 阿拉伯联合酋长国
    • 英国
    • 美国
    • 美国本土外小岛屿
    • 乌拉圭
    • 乌兹别克斯坦
    • 瓦努阿图
    • 梵蒂冈
    • 委内瑞拉
    • 越南
    • 美属维尔京群岛
    • 瓦利斯和富图纳群岛
    • 西撒哈拉
    • 也门
    • 赞比亚
    • 津巴布韦
    中文 (简体)
    • 首选语言
    • 中文 (简体)
    • 中文 (繁体)
    • 捷克语
    • 丹麦语
    • 荷兰语
    • 英语 (澳大利亚)
    • 英语 (英国)
    • 英语 (印度)
    • 英语 (马来西亚)
    • 英语 (菲律宾)
    • 英语 (新加坡)
    • 英语 (美国)
    • 芬兰语
    • 法语
    • 法语 (比利时)
    • 德语
    • 德语 (奥地利)
    • 印度尼西亚语
    • 意大利语
    • 日语
    • 韩语
    • 荷兰语 (比利时)
    • 挪威语
    • 波兰语
    • 葡萄牙语 (巴西)
    • 西班牙语 (拉丁美洲)
    • 西班牙语 (西班牙)
    • 瑞典语
    • 泰语
    • 土耳其语
    • 越南语
    省/自治区/直辖市
    • 省/自治区/直辖市
    • 安徽
    • 北京
    • 重庆
    • 福建
    • 广东
    • 甘肃
    • 广西
    • 贵州
    • 海南
    • 湖北
    • 河北
    • 河南
    • 黑龙江
    • 湖南
    • 吉林
    • 江苏
    • 江西
    • 辽宁
    • 内蒙古
    • 宁夏
    • 青海
    • 四川
    • 山东
    • 上海
    • 陕西
    • 山西
    • 天津
    • 新疆
    • 西藏
    • 云南
    • 浙江

    NVIDIA 隐私政策

    Spark eBook Form Button (Visible on author only)
    产品
    • 笔记本电脑和工作站
    • 数据中心
    • 云计算
    • DGX Cloud
    软件
    • NVIDIA AI Enterprise 平台
    • 代理式 AI - NVIDIA Agent Intelligence Toolkit
    • AI Blueprint
    • AI Foundry
    • AI 基础模型
    • AI 推理 - Dynamo
    • AI 推理微服务 - NIM
    • AI 微服务 - CUDA-X
    • 虚拟形象 - Tokkio
    • 网络安全 - Morpheus
    • 数据科学 - RAPIDS
    • 数据科学 - Apache Spark
    • 决策优化 - cuOpt
    • 生成式 AI - NeMo
    • 物理 AI - Cosmos
    • 语音 AI – Riva
    资源
    • AI 博客
    • AI Podcast
    • API 目录
    • 内容库
    • 客户案例
    • 开发者教育
    • 文档
    • 术语表
    • GTC AI 大会
    • Kaggle Grandmaster
    • NGC 软件目录
    • 开源软件
    • 专业服务
    • 研究
    • 初创公司和 VC
    • 技术博客
    • NVIDIA 培训和认证
    • 面向 IT 专业人员培训和认证
    公司信息
    • 关于 NVIDIA
    • 公司概览
    • 投资者
    • Venture Capital (NVentures)
    • NVIDIA 基金会
    • 研究
    • 社会责任
    • 技术
    • 职业生涯
    关注 NVIDIA AI
    哔哩哔哩 抖音 微博

    扫描二维码关注
    NVIDIA 英伟达微信公众号

    微信
    NVIDIA
    CHN - 中国
    • 隐私声明
    • 管理我的隐私
    • 法律事宜
    • 无障碍访问
    • 产品安全性
    • 联系我们
    Copyright © 2025 NVIDIA Corporation
    Data Science ebook