机器学习 低代码 ML:PyCaret 的使用

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。
🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


本文目录

    • PyCaret 简介
    • PyCaret 实践
      • 安装 PyCaret
      • 使用 PyCaret 进行分类任务
      • 使用 PyCaret 进行回归任务


PyCaret 简介

PyCaret 是一个开源的低代码 Python 库,专注于简化机器学习(ML)工作流程并加速实验过程。它特别适用于数据科学家、分析师和开发人员,通过减少实现 ML 解决方案所需的繁琐编码工作来提高工作效率。PyCaret 可以在一个统一且用户友好的接口下提供多种机器学习任务的支持,包括但不限于分类、回归、聚类、异常检测、关联规则挖掘等。

PyCaret

以下是一些关于 PyCaret 的关键特点和功能:

  1. 低代码自动化

    • PyCaret 允许用户通过简洁的 API 调用快速执行数据预处理、特征工程、模型训练、模型评估和模型选择等步骤。
    • 用户无需编写大量的底层代码即可完成复杂的机器学习任务,仅需少量命令就能在几秒钟内搭建和比较多个模型。
  2. 集成多种库

    • 库内部封装了诸如 scikit-learn、XGBoost、LightGBM、CatBoost 等流行机器学习框架,并提供了对这些库中模型的便捷访问和管理。
    • 同时也集成了其他辅助工具,如用于文本处理的 spaCy,以及用于超参数优化的 Optuna、Hyperopt 等。
  3. 模块化设计

    • PyCaret 按照不同机器学习任务划分为不同的模块,例如classificationregressionclusteringanomaly_detection等,每个模块都包含了对应任务特定的方法和函数。
  4. 端到端解决方案

    • 提供从数据加载到模型部署的完整生命周期管理,支持项目保存和加载,便于复现实验结果和迁移学习。
    • 包括可视化工具,可以方便地生成各种性能指标图表,帮助用户直观理解模型表现和数据分布。
  5. 资源效率

    • 由于其自动化特性,PyCaret 能够在较小的计算资源消耗下进行大量实验,从而节省时间和计算成本。
  6. 易用性

    • 对于新手友好,使得没有丰富编程经验的数据科学爱好者也能快速入门并开始探索机器学习领域。

使用 PyCaret 进行机器学习实验时,用户通常首先初始化一个环境,设置数据分割策略、目标变量以及其他实验参数,然后就可以直接运行对比试验、调整模型配置、进行特征重要性分析等操作。这一系列过程极大提升了数据分析和建模的工作效率。

PyCaret 实践

安装 PyCaret

pip install pycaret

使用 PyCaret 进行分类任务

以 PyCaret 官方提供的 diabetes 数据集为例。

# 加载数据集
from pycaret.datasets import get_data
diabetes = get_data("diabetes")

diabetes 数据集

# 初始化分类实验
from pycaret.classification import *
s = setup(data, target="Class variable", session_id=123)

分类实验概况

# 比较多个模型
best = compare_models()

分类模型比较结果

# 打印最佳模型
print(best)

最佳分类模型

# 评估模型
evaluate_model(best)

分类模型评估结果

# 绘制 AUC 曲线
plot_model(best, plot="auc")

AUC 曲线

# 绘制混淆矩阵
plot_model(best, plot="confusion_matrix")

混淆矩阵

# 使用最优模型进行预测
predictions = predict_model(best, data=data)
predictions.head()

分类预测结果

# 输出概率分数
predictions = predict_model(best, data=data, raw_score=True)
predictions.head()

分类概率分数

# 保存模型
save_model(best, "my_best_pipeline")

保存模型

# 加载模型
loaded_model = load_model("my_best_pipeline")
print(loaded_model)

加载模型

使用 PyCaret 进行回归任务

以 PyCaret 官方提供的 insurance 数据集为例。

# 加载数据集
from pycaret.datasets import get_data
insurance = get_data("insurance")

insurance 数据集

# 初始化回归实验
from pycaret.regression import *
s = setup(data, target="charges", session_id=123)

回归实验概况

# 比较多个模型
best = compare_models()

回归模型比较结果

# 打印最佳模型
print(best)

最佳回归模型

# 评估模型
evaluate_model(best)

回归模型评估结果

# 绘制残差分布图
plot_model(best, plot="residuals")

残差分布图

# 绘制特征重要性图
plot_model(best, plot="feature")

特征重要性图

# 使用最优模型进行预测
predictions = predict_model(best, data=data)
predictions.head()

回归预测结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659142.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VirtualBox中Ubuntu硬盘扩容

1.选中要扩容的虚拟机点击属性按钮,选择存储后点击控制器:STAT右边的 按钮 2.创建虚拟硬盘 在弹出框中选择创建按钮,选择VDI后点击下一步按钮 选择动态分配后点击下一步按钮 3.设置文件位置和大小 选择要保存的虚拟硬盘文件路径&#xff0c…

会计试算平衡

目录 一. 试算平衡的意义二. 试算平衡的原理和内容三. 试算平衡表 \quad 一. 试算平衡的意义 \quad ①验证错误 ②便于编制会计报表 试算表根据各分类账借贷余额汇总编制而成,依据试算表编制会计报表将比直接依据分类账来编制更为方便,拥有大量分类账的企业尤为便捷…

basic CNN

文章目录 回顾卷积神经网络卷积卷积核卷积过程卷积后图像尺寸计算公式:代码 padding代码 Stride代码 MaxPooling代码 一个简单的卷积神经网络用卷积神经网络来对MINIST数据集进行分类如何使用GPU代码 练习 回顾 下面这种由线形层构成的网络是全连接网络。 对于图像…

分治 (地毯填补问题)

地毯填补问题 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿。宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地…

万户 ezOFFICE DocumentEdit_unite.jsp SQL注入漏洞复现

0x01 产品简介 万户OA ezoffice是万户网络协同办公产品多年来一直将主要精力致力于中高端市场的一款OA协同办公软件产品,统一的基础管理平台,实现用户数据统一管理、权限统一分配、身份统一认证。统一规划门户网站群和协同办公平台,将外网信息维护、客户服务、互动交流和日…

Python下载安装与环境配置

本文将指导您完成Python的下载、安装以及环境配置过程,确保您在编写和运行Python代码时能够获得最佳体验。我们将提供详细的步骤和代码示例,帮助您顺利完成设置。 一、Python下载与安装 访问Python官网:首先,您需要访问Python的官…

Pycharm 关闭/退出烦人的Pytest模式

Pycharm 遇到:Run Python tests in ***.py ,但很多时候我们并不需要,真心烦人! 如何解决: 1 打开File-Settings (图片是新版界面,旧版同样操作) 2 Tools 中的Python Integrated Tools 在Tes…

LeetCode —— 137. 只出现一次的数字 II

😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️Take your time ! 😶‍🌫️😶‍🌫️😶‍🌫️😶‍🌫️…

第17次修改了可删除可持久保存的前端html备忘录:增加年月日星期,增加倒计时,更改保存区名称可以多个备忘录保存不一样的信息,匹配背景主题:现代深色

第17次修改了可删除可持久保存的前端html备忘录&#xff1a;增加年月日星期&#xff0c;增加倒计时&#xff0c;更改保存区名称可以多个备忘录保存不一样的信息&#xff0c;匹配背景主题&#xff1a;现代深色 备忘录代码&#xff1a; <!DOCTYPE html> <html lang&quo…

“死“社群先不要扔,想办法激活一下,隔壁的运营都馋哭了

私域运营已成为当下很多企业寻求增长的标配。在这过程中&#xff0c;社群运营就是极为重要的一个环节。过去我们为了流量&#xff0c;疯狂建群拉人。但建社群容易活跃难&#xff0c;活跃一段时间后&#xff0c;社群会越来越安静。 不仅如此&#xff0c;群主和管理员也渐渐疏于…

c++ 字符串切分split

c 字符串切分split 的举例实现 一共给出了四种方式 1、 strtok 2、 stringstream 3、 字符串查找 4、 基于封装的方式&#xff0c;提供了 c11 foreach 接口 代码 vector<string> split(string s) {vector<string> res;const char *p strtok((char *) s.c_str(),…

hbuilderx uniapp运行到真机控制台显示手机端调试基座版本号1.0.0,调用uni.share提示打包时未添加share模块

记录一个困扰了几天的一个蠢问题&#xff0c;发现真相的我又气又笑。 由于刚开始接触uniapp 移动端开发&#xff0c;有个需求需要使用uni.share API&#xff0c;但是我运行项目老提示打包时没配置share模块 我确实没在manifest内配置。网上搜了一些资料&#xff0c;但是我看官…

在Excel把两个单元格的内容,合并后显示在第三个单元格

在Excel中&#xff0c;将两个单元格的内容合并显示到第三个单元格有几种方法&#xff1a; 1. 使用 CONCATENATE 函数&#xff08;在较早版本的 Excel 中&#xff09;&#xff1a; 在目标单元格&#xff08;例如 C1&#xff09;中输入以下公式&#xff1a; CONCATENATE(A…

比Filebeat更强大的日志收集工具-Fluent bit的http插件实战

文章目录 1.前言2. fluent bit http插件配置以及参数详解3. Http 接口服务3.1 开发Http 接口服务3.2 重启fluent bit向http web服务发送数据 1.前言 Fluent Bit 的 HTTP 插件提供了一种灵活而通用的机制&#xff0c;可用于将日志数据 从各种环境中传输到指定的远程服务器&#…

EDR、SIEM、SOAR 和 XDR 的区别

在一个名为网络安全谷的神秘小镇&#xff0c;居住着四位守护者&#xff0c;他们分别是EDR&#xff08;艾迪&#xff09;、SIEM&#xff08;西姆&#xff09;、SOAR&#xff08;索亚&#xff09;和XDR&#xff08;艾克斯&#xff09;。他们各自拥有独特的能力&#xff0c;共同守…

力扣hot100 电话号码的字母组合 回溯

Problem: 17. 电话号码的字母组合 文章目录 思路复杂度&#x1f49d; Code 思路 &#x1f468;‍&#x1f3eb; 参考题解 复杂度 时间复杂度: O ( 3 8 ) O(3^8) O(38) 空间复杂度: O ( 3 8 ) O(3^8) O(38) &#x1f49d; Code class Solution {String[] map { "…

Redis 实际项目中的整合,记录各种用法

Redis缓存餐厅数据 我们来看主要的流程 很简单,就是在数据库和接口之间加了一层缓冲,在redis之前其实还可以加其他的缓存 例如 nginx的缓存 接下来,就是结合我的业务,来做缓存 我这里的业务逻辑是,按了分类的按钮,分别以不同的 分类为一组缓存数据 所以,这里的缓存粒度是分类…

【JS逆向实战-入门篇】某gov网站加密参数分析与Python算法还原

文章目录 1. 写在前面2. 请求分析3. 断点分析4. 算法还原 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋…

java中Ajax与Axios的使用

1&#xff0c;Ajax 1.1 概述 AJAX (Asynchronous JavaScript And XML)&#xff1a;异步的 JavaScript 和 XML。 我们先来说概念中的 JavaScript 和 XML&#xff0c;JavaScript 表明该技术和前端相关&#xff1b;XML 是指以此进行数据交换。而这两个我们之前都学习过。 1.1.…

iOS开发Xcode中的ld64和-ld_classic是什么意思

在iOS应用程序开发中&#xff0c;Xcode是一款广泛使用的集成开发环境&#xff08;IDE&#xff09;&#xff0c;而链接器是构建应用程序的关键组成部分之一。在Xcode中&#xff0c;我们常常会遇到两个重要的概念&#xff1a;ld64和-ld_classic。它们分别代表了默认链接器和经典链…