0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Scikit-learn机器学习库的概念及工作原理

NVIDIA英伟达 来源:NVIDIA英伟达 作者: NVIDIA英伟达 2022-09-30 11:00 次阅读

作为一个适用于 Python 编程语言的机器学习 (ML) 库,Scikit-learn 拥有大量算法,可供程序员和数据科学家在机器学习模型中轻松部署。

什么是 Scikit-learn?

Scikit-learn 是一个热门且可靠的机器学习库,拥有各种算法,同时也是用于 ML 可视化、预处理、模型拟合、选择和评估的工具。

Scikit-learn 基于 NumPy、SciPy 和 matplotlib 构建,并具有大量用于分类、回归和集群的高效算法。其中包括支持向量机、随机森林、梯度提升、k-means 和 DBSCAN

Scikit-learn 拥有一致且设计高效的 API、适用于大多数算法的丰富文档以及大量在线教程,因此相对易于开发。

当前版本可用于 Linux、MacOS 和 Windows 等热门平台。

为何选择 Scikit-learn?

得益于其相对易于使用、且设计周到又充满热情的社区,Scikit-learn API 已成为机器学习实施的实际标准。

Scikit-learn 为 ML 模型构建、拟合及评估提供了以下模块:

预处理是指 Scikit-learn 工具,这些工具可用于数据分析期间的特征提取和归一化。

分类是指一组工具,这组工具可识别机器学习模型中与数据相关的类别。例如,这些工具还可用于将电子邮件分类为有效邮件或垃圾邮件。实际上,分类可确定目标所属的类别。

回归是指 ML 模型的创建,该模型试图理解输入和输出数据(例如行为或股票价格)之间的关系。回归可预测与目标关联的连续值属性。

Scikit-learn 中的聚类工具自动将具有相似特征的数据以集的形式进行分组,例如根据物理位置排列成集的客户数据。

降维可减少用于分析的随机变量数量。例如,为了提升可视化的效率,可能会将离散数据排除在外。

模型选择是指算法及其提供相应工具的能力,并且这些工具能够比较、验证和选择最佳参数,以将其用于数据科学机器学习项目。

流程是指用于构建模型工作流程的实用程序。

机器学习可视化可支持快速绘图和视觉调整。

Scikit-learn 的工作原理

Scikit-learn 主要采用 Python 编写,并使用 NumPy 进行高性能线性代数以及数组运算。一些核心 Scikit-learn 算法则采用 Cython 编写,以提升整体性能。

作为更高级别的库,它包含各种机器学习算法的几种实施,Scikit-learn 让用户仅使用几行代码即可构建、训练和评估模型。

Scikit-learn 还提供一套统一的高级别 API,以供构建 ML 流程或工作流程使用。

在 Scikit-learn ML 流程中,您可以通过转换器传递数据并提取特征,使用估测器生成模型,并使用评估器测量模型的准确性。

Transformer:这是一种转换或输入数据,以进行预处理的算法。

Estimator:这是一种机器学习算法,用于训练或拟合数据,以构建可用于预测的模型。

流程:流程将多个转换器和估测器相连接,从而指定 ML 工作流程。

GPU 加速的 Scikit-learn API 和端到端数据科学

在架构方面,CPU 仅由几个具有大缓存内存的核心组成,一次只可以处理几个软件线程。相比之下,GPU 由数百个核心组成,可以同时处理数千个线程。

基于 CUDA-X AI 创建的 NVIDIA RAPIDS 开源软件库套件使您完全能够在 GPU 上执行端到端数据科学和分析流程。此套件依靠 NVIDIA CUDA 基元进行低级别计算优化,但通过用户友好型 Python 接口能够实现 GPU 并行化和高带宽显存速度。

RAPIDS cuML 的机器学习算法和数学基元遵循熟悉的类似于 scikit-learn 的 API。单块 GPU 和大型数据中心部署均支持 XGBoost、随机森林等主流算法。针对大型数据集,相较于同等功效的 CPU,这些基于 GPU 的实施方案能够以 10 到 50 倍的速度更快地完成任务。

借助 RAPIDS GPU DataFrame,数据可以通过一个类似 Pandas 的接口加载到 GPU 上,然后用于各种连接的机器学习和图形分析算法,而无需离开 GPU。这种级别的互操作性可通过 Apache Arrow 等库实现,并且可加速端到端流程(从数据准备到机器学习,再到深度学习)。

RAPIDS 支持在许多热门数据科学库之间共享设备内存。这样可将数据保留在 GPU 上,并省去了来回复制主机内存的高昂成本。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NVIDIA
    +关注

    关注

    14

    文章

    4585

    浏览量

    101691
  • 机器学习
    +关注

    关注

    66

    文章

    8112

    浏览量

    130545
  • python
    +关注

    关注

    51

    文章

    4671

    浏览量

    83457

原文标题:NVIDIA 大讲堂 | 什么是 Scikit-learn?

文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    相位噪声的概念及其应用

    频率稳定度分短稳和长稳。短稳是指由相噪,电源和负载变化引起的频率波动;长稳是指因老化等引起的频率漂移。相位噪声是晶体振荡器短期稳定度的重要指标。今天凯擎小妹就来讲一下相位噪声的概念及其应用。
    的头像 发表于 12-26 13:28 310次阅读
    相位噪声的<b class='flag-5'>概念及</b>其应用

    NNI:自动帮你做机器学习调参的神器

    Keras TensorFlow MXNet Caffe2 Scikit-learn XGBoost LightGBM 基本上市
    的头像 发表于 10-30 10:28 1782次阅读
    NNI:自动帮你做<b class='flag-5'>机器</b><b class='flag-5'>学习</b>调参的神器

    MOS学习笔记-模型及工作原理

    最近在公司做电动车控制器坏机解析的工作中碰到了一些MOS损坏的机子。在以前的工作中虽然对MOS有一些应用,但是其中的工作原理还没有仔细的学习过,希望能通过
    发表于 10-16 15:18 491次阅读
    MOS<b class='flag-5'>学习</b>笔记-模型及<b class='flag-5'>工作原理</b>

    励磁工作原理

      励磁工作原理是指在电磁设备中通过外加电流或磁场来增强设备中的磁场强度的过程。在电磁设备中,励磁是非常重要的步骤,它能够保证设备正常运行,并实现设备的预期功能。本文将从基本概念工作原理和应用方面介绍励磁
    的头像 发表于 09-27 11:03 1874次阅读

    电源核相的概念及意义

    一、核相的概念及意义 1、核相的概念 核相是指在电气操作中用仪表或其他手段核对两路电源或环路相位、相序是否相同。 2、核相的意义 1)新建、改建、扩建后的变配电所和输电线路、以及线路检修完毕向用
    的头像 发表于 09-24 16:27 2413次阅读

    机器学习概念和发展历程 机器学习工作原理和基本组成

    机器学习是人工智能的一个分支,它是一种让计算机通过大量的数据分析和学习,以便自主预测和决策的技术。它利用算法和统计学的方法,让计算机从数据中“学习”到模式,并使用这些模式来进行自主决策
    发表于 08-22 17:40 1024次阅读

    深度学习机器学习的定义和优缺点 深度学习机器学习的区别

      深度学习机器学习机器学习领域中两个重要的概念,都是人工智能领域非常热门的技术。两者的关系
    发表于 08-21 18:27 2141次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器学习算法对比 机器
    的头像 发表于 08-17 16:27 622次阅读

    python编程能干什么 用python做一个简单的游戏

    Python在人工智能和机器学习领域具有广泛的应用。有诸多流行的库和框架,如TensorFlow、PyTorch和Scikit-learn,可用于构建和训练机器
    的头像 发表于 08-15 14:40 739次阅读
    python编程能干什么 用python做一个简单的游戏

    人工智能为什么用python

    强大的库和框架支持:Python拥有丰富的开源类库和框架来支持人工智能开发,如: TensorFlow、Scikit-learn、PyTorch、Keras等,这些库和框架的使用可以让人工智能开发变得更加高效和容易。
    的头像 发表于 08-13 14:07 1533次阅读

    python和人工智能有什么关系

    机器学习是人工智能中的一个重要领域,其目标是从数据中自动捕捉模式和规律。Python提供了几个流行的机器学习框架,包括Scikit-learn
    的头像 发表于 08-13 10:38 1174次阅读

    如何使用Arm CMSIS-DSP实现经典机器学习

    。 CMSIS-DSP中提供的经典ML函数仅适用于float32。 要完成本指南,您应该知道如何构建CMSIS-DSP。 您还需要安装以下资源: •CMSIS-DSP的副本。 •带有scikit-learn包的Python 3。
    发表于 08-02 07:12

    21句话入门机器学习

    【编者按】这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾
    的头像 发表于 07-31 23:44 415次阅读
    21句话入门<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    21 句话入门机器学习

    【编者按】这是一篇关于机器学习工具包Scikit-learn的入门级读物。对于程序员来说,机器学习的重要性毋庸赘言。也许你还没有开始,也许曾
    的头像 发表于 07-25 11:30 260次阅读
    21 句话入门<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    iMX8M Plus将机器学习添加到Yocto精简固件映像?

    我想知道conf/local.conf有什么必要的修改,以便添加机器学习和其他东西,以便在板上部署 AI 功能而不需要 bitbaking imx-image-full,请问?换句话说,我希望固件
    发表于 06-07 06:16