作为一个适用于 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文章
4978浏览量
102984 -
机器学习
+关注
关注
66文章
8406浏览量
132558 -
python
+关注
关注
56文章
4792浏览量
84626
原文标题:NVIDIA 大讲堂 | 什么是 Scikit-learn?
文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论