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

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

3天内不再提示

Python机器学习库谈Scikit-learn技术

深度学习自然语言处理 来源:NewBeeNLP公众号 作者:Rebecca Vickery 2020-08-27 17:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Scikit-learn是使用最广泛的Python机器学习库之一。它有标准化和简单的接口,用于数据预处理和模型训练、优化以及评估。

这个项目最初是由David Cournapeau 开发的Google Summer of Code 项目,并于2010年首次公开发布。自创建以来,该库已经发展成为一个丰富的生态系统,用于开发机器学习模型。随着时间的推移,该项目开发了许多方便的功能,以增强其易用性。在本文中,我将介绍你可能不知道的10个关于Scikit-learn最有用的特性。

1. 内置数据集

Scikit-learn API内置了各种toy和real-world数据集[1]。这些可以便捷地通过一行代码访问,如果你正在学习或只是想快速尝试新功能,这会非常有用。

你还可以使用make_regression()、make_blobs()和make_classification()生成合成数据集。所有加载实用程序都提供了返回已拆分为X(特征)和y(目标)的数据选项,以便它们可以直接用于训练模型。

2. 获取公开数据集

如果你想直接通过Scikit-learn访问更多的公共可用数据集,请了解,有一个方便的函数datasets.fetch_openml,可以让您直接从openml.org网站[2]获取数据。这个网站包含超过21000个不同的数据集,可以用于机器学习项目。

3. 内置分类器来训练baseline

在为项目开发机器学习模型时,首先创建一个baseline模型是非常有必要的。这个模型在本质上应该是一个“dummy”模型,比如一个总是预测最频繁出现的类的模型。这就提供了一个基准,用来对你的“智能”模型进行基准测试,这样你就可以确保它的性能比随机结果更好。

Scikit learn包括用于分类任务的DummyClassifier() 和用于基于回归问题的 DummyRegressor()。

4. 内置绘图api

Scikit learn有一个内置的绘图API,允许你在不导入任何其他库的情况下可视化模型性能。包括以下绘图:部分相关图、混淆矩阵、精确召回曲线和ROC曲线。

5. 内置特征选择方法

提高模型性能的一种技术是只使用最好的特征集或通过删除冗余特征来训练模型。这个过程称为特征选择。

Scikit learn有许多函数来执行特征选择。一个示例为 SelectPercentile(),该方法根据所选的统计方法选择性能最好的X百分位特征进行评分。

6. 机器学习pipeline

除了为机器学习提供广泛的算法外,Scikit learn还具有一系列用于「预处理」「转换数据」的功能。为了促进机器学习工作流程的再现性和简单性,Scikit learn创建了管道(pipeline),允许将大量预处理步骤与模型训练阶段链接在一起。

管道将工作流中的所有步骤存储为单个实体,可以通过「fit」「predict」方法调用该实体。在管道对象上调用fit方法时,预处理步骤和模型训练将自动执行。

7. ColumnTransformer

在许多数据集中,你将拥有不同类型的特征,需要应用不同的预处理步骤。例如,可能有分类数据和连续数据的混合,你可能希望通过one-hot编码将分类数据转换为数字,并缩放数字变量。

Scikit-learn管道有一个名为ColumnTransformer的函数,它允许你通过索引或指定列名来轻松指定要对哪些列应用最适当的预处理。

8. 管道的HTML形式

管道通常会变得非常复杂,尤其是在处理真实世界的数据时。因此,scikit-learn提供了一种方法来输出管道中步骤的HTML图表[3],非常方便。

9. 可视化 树模型

plot_tree() 函数允许你创建决策树模型中的步骤图。

10. 丰富的第三方扩展

许多第三方库可以更好地扩展scikit-learn的特性。举个栗子,category-encoders库,它为分类特性提供了更大范围的预处理方法,以及ELI5包以实现更大的模型可解释性。这两个包也可以直接在Scikit-learn管道中使用。

本文参考资料

[1]toy和real-world数据集: https://scikit-learn.org/stable/datasets/index.html

[2]openml.org网站: https://www.openml.org/home

[3]HTML图表: https://scikit-learn.org/stable/modules/compose.html#visualizing-composite-estimators

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

    关注

    67

    文章

    8570

    浏览量

    137421
  • python
    +关注

    关注

    59

    文章

    4892

    浏览量

    90417

原文标题:关于Scikit-Learn你(也许)不知道的10件事

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    人工智能-Python深度学习进阶与应用技术:工程师高培解读

    深度学习的工程化落地,早已不是纸上兵的事。从卷积神经网络到Transformer,从目标检测到大模型私有化部署,技术栈不断延伸,工程师面临的知识体系也越来越庞杂。现根据中际赛威工程师培训老师的一份
    的头像 发表于 04-21 11:01 467次阅读
    人工智能-<b class='flag-5'>Python</b>深度<b class='flag-5'>学习</b>进阶与应用<b class='flag-5'>技术</b>:工程师高培解读

    强强联合:imc FAMOS内嵌Python接口,提高分析效率!

    语言,在以下方面非常强大:提供数学、云连接、机器学习和您几乎能想到的所有数据选择高性能处理大数据自动生成报告(如在MicrosoftWord中)imcFAMOS作
    的头像 发表于 03-18 09:05 555次阅读
    强强联合:imc FAMOS内嵌<b class='flag-5'>Python</b>接口,提高分析效率!

    如何在 Vision Five 2 上安装 python

    这可能是一个完全愚蠢的问题,但我如何在 Vision Five 2 上安装 python 。 使用该命令后,它给了我这个错误。 默认为用户安装,因为普通站点包不可写 错误:找不到满足要求
    发表于 03-06 07:51

    算法工程师需要具备哪些技能?

    开发(如NumPy、Pandas、Scikit-learn)。C++/Java:高性能场景(如大规模矩阵运算、分布式系统开发)。 开发工具Linux命令行:文件操作、进程管理、日志分析等。Shell脚本
    发表于 02-27 10:53

    无法去除 Python VisionFive.i2c 的终端输出?

    烧的官方最新八月份的 debian 12 的系统。 根据这个案例安装好了 python 环境和 VisionFive 。 执行下面这条代码: import VisionFive.i2c
    发表于 02-25 06:13

    人工智能与机器学习在这些行业的深度应用

    自人工智能和机器学习问世以来,多个在线领域的数字化格局迎来了翻天覆地的变化。这些技术从诞生之初就为企业赋予了竞争优势,而在线行业正是受其影响最为显著的领域。人工智能(AI)与机器
    的头像 发表于 02-04 14:44 776次阅读

    AGV机器人如何精准识别位有无货物?

    AGV机器人如何精准判断位状态?激光传感器、视觉识别和压力传感器三大技术协同作战:激光测距穿透空位,视觉捕捉货物特征,压力感知重量变化,多技术
    的头像 发表于 01-13 17:03 812次阅读
    AGV<b class='flag-5'>机器</b>人如何精准识别<b class='flag-5'>库</b>位有无货物?

    CIE全国RISC-V创新应用大赛 人脸识别系统介绍与移植

    scikit-learn 等依赖的编译需求,执行以下命令(需管理员权限): 打开命令行,不要进入venv环境,直接输入: sudo apt update && sudo apt
    发表于 11-08 11:19

    一文了解Mojo编程语言

    Mojo 语言的具体介绍: 核心特点 Python 兼容性 Mojo 支持大部分 Python 语法和标准,可直接调用 Python 生态系统中的
    发表于 11-07 05:59

    Python调用API教程

    两个不同系统之间的信息交互。在这篇文章中,我们将详细介绍Python调用API的方法和技巧。 一、用Requests发送HTTP请求 使用Python调用API的第一步是发送HTTP请求,通常
    的头像 发表于 11-03 09:15 1282次阅读

    贸泽电子2025边缘AI与机器学习技术创新论坛回顾(上)

    2025年,随着人工智能技术的快速发展,边缘AI与机器学习市场迎来飞速增长,据Gartner预计,2025年至2030年,边缘AI市场将保持23%的复合年增长率。
    的头像 发表于 07-21 11:08 1388次阅读
    贸泽电子2025边缘AI与<b class='flag-5'>机器</b><b class='flag-5'>学习</b><b class='flag-5'>技术</b>创新论坛回顾(上)

    linux虚拟环境中调用Linux 版matlab编译的python时出错

    matlab代码编译为CAO_pythonpython,其中cp_Main_python.m为入口文件,编译后生成的文件有mccExcludedFiles.log、setup.py
    发表于 07-18 10:40

    FPGA在机器学习中的具体应用

    随着机器学习和人工智能技术的迅猛发展,传统的中央处理单元(CPU)和图形处理单元(GPU)已经无法满足高效处理大规模数据和复杂模型的需求。FPGA(现场可编程门阵列)作为一种灵活且高效的硬件加速平台
    的头像 发表于 07-16 15:34 3180次阅读

    【嘉楠堪智K230开发板试用体验】K230机器视觉相关功能体验

    K230开发板摄像头及AI功能测评 摄像头作为机器视觉应用的基础,能够给机器学习模型提供输入,提供输入的质量直接影响机器学习模型的效果。 K
    发表于 07-08 17:25

    基于米尔瑞芯微RK3576开发板的创建机器学习环境方案

    】 【米尔-瑞芯微RK3576核心板及开发板】具有6TpsNPU以及GPU,因此是学习机器学习的好环境,为此结合《深度学习的数学——使用Python语言》 1、使用vscode 连接远
    发表于 06-27 11:33