我用AI做数据分析之四种堆叠聚合模型的比较

我用AI做数据分析之四种堆叠聚合模型的比较

这里AI数据分析不仅仅是指AI生成代码的能力,我想是测试AI数据分析方面的四个能力,理解人类指令的能力、撰写代码的能力、执行代码的能力和解释结果的能力。如果这四个能力都达到了相当的水准,才可以说真正实现了AI数据分析。而目前AI作为IDE插件的形式,只能说是半自动的AI数据分析。

之前测试过程中,AI在数据清洗方面,包括更改列名、寻找录入错误等方面体现出了优于一般工具的表现,展现了良好地对任务的理解能力和对表格的处理能力,没有涉及撰写代码等能力。

目的

既然有了AI的辅助,我们需要做一些自己能力之上的事情,之前自己对堆叠聚合模型有了解但是了解不多,且没有用Python进行过编码,在相关知识和编码能力上都不能完成对各种堆叠聚合模型的测试和比较,所以这次定的目标是对“常见堆叠聚合模型的测试比较”。

背景

堆叠聚合模型(Stacking Aggregation Model),也被简称为 Stacking 模型,是一种高级的集成学习技术。它的核心思想是将多个不同的基础模型(如决策树、逻辑回归、神经网络等)的预测结果进行二次建模组合 。在这个过程中,第一层由多个不同的基础模型组成,这些基础模型在训练数据上进行训练,然后对测试数据做出预测。这些预测结果会被当作新的特征,输入到第二层的模型(通常称为元模型)中进行训练和预测。通过这种方式,Stacking 模型能够综合利用各个基础模型的优势,挖掘出数据中更复杂的模式,从而有可能获得比单个模型更好的预测性能。

基础模型选择策略:尽量选择多样化的基础模型,比如线性模型(如线性回归、逻辑回归)与非线性模型(如决策树、支持向量机)相结合。不同类型的模型对数据的理解和捕捉模式的能力不同,组合在一起可以覆盖更广泛的特征空间。例如在一个房价预测任务中,线性回归可以捕捉房价与房屋面积等简单线性关系,而决策树则能发现不同区域、房屋类型等复杂条件下的房价规律。
交叉验证策略:在训练 Stacking 模型时,为了避免过拟合和更有效地利用数据,常使用交叉验证。以 k 折交叉验证为例,将训练数据分成 k 份,每次用 k - 1 份数据训练基础模型,然后对剩下的 1 份数据进行预测。这样重复 k 次,就可以得到所有训练数据的预测结果,这些结果作为元模型的训练数据。这种方式确保了基础模型的预测结果是基于未见过的数据,提高了模型的泛化能力。
元模型选择策略:元模型的选择很关键,它需要能够有效整合基础模型的预测信息。常用的元模型有逻辑回归、决策树、神经网络等。如果基础模型的预测结果之间存在复杂的非线性关系,神经网络可能是更好的选择;若希望模型有较好的可解释性,逻辑回归或决策树可能更合适。比如在一个信用风险评估中,如果只需要简单判断风险高低,逻辑回归作为元模型就可以清晰地展示各基础模型预测结果对最终风险判断的影响权重。

结果

AI推荐了四种常见的堆叠聚合模型的组合,分别是:

组合1: logistic(base) + decision tree(base) +logistic(meta)
组合2:logistic(base) + decision tree(base) + neural network(meta) 组合3:
SVC(base) + KNN(base) +logistic(meta) 组合4: SVC(base) + KNN(base) +
neural network(meta)

另外,使用AI形成了分析的基础代码,代码质量还是可以,用到的库比较单一,主要是用scikit-learn中的代码;

但是AI在执行代码方面遇到问题,显示内核读取失败“kernel iopub read failed ”,看来AI在数据执行方面有一定的局限性;之前还遇到一个执行问题是没有相应的库。

结果是在给定的数据集上,组合1的效果最佳,但是在不同的数据集上可能有不同的表现。在这里插入图片描述
用AI解释结果是没问题的,解释仔细也都对。

最后

AI数据分析需要的四个能力中,代码执行部分是短板,但是借助AI,我们已经能做一些能力之上的事情,基础的事情AI已经能做了,把AI这些基础的能力整合起来,规划一些多步骤的任务说明一定的问题,可能更有意义。
项目代码:https://www.heywhale.com/mw/project/67abfca747828d409e8090ea

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

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

相关文章

DC-6靶机渗透测试全过程

目录 前期准备 一、渗透测试 1.IP地址查询 2.端口信息搜寻 3.网页信息搜集 wappalyzer WPScan 反弹shell graham用户 反弹出jens的shell nmap提权 二、总结 前期准备 攻击机: kali windows11 靶机:DC-6靶机(调至NAT模式&#xff0…

[操作系统] 基础IO:系统文件I/O

在 Linux 操作系统中,文件 I/O(输入/输出)是程序与文件系统交互的基础。理解文件 I/O 的工作原理对于编写高效、可靠的程序至关重要。本文将深入探讨系统文件 I/O 的机制。 一种传递标志位的方法 在 Linux 中,文件的打开操作通常…

3.8 AI驱动的市场调研革命:从数据采集到竞品策略生成的闭环实践指南

AI驱动的市场调研革命:从数据采集到竞品策略生成的闭环实践指南 引言:智能时代的高效市场洞察 Forrester研究显示,使用AI辅助市场调研可使数据采集效率提升8倍,策略生成速度加快4倍。本文以GitHub Sentinel、LanguageMentor为案例,揭示如何构建AI增强型市场分析体系,实现…

AF3 MmcifObject类解读

AlphaFold3 中 MmcifObject类 是 解析 mmCIF 文件的核心数据结构,用于存储解析后的蛋白质结构信息,包含PDB 头部信息、Biopython 解析的结构、链序列信息等。 下面代码包含 Monomer 、AtomSite、ResiduePosition、ResidueAtPosition、 MmcifObject以及ParsingResult数据类的…

网络安全 “免疫力”:从人体免疫系统看防御策略

在当今数字化时代,网络安全已变得至关重要。每天,我们的网络系统都面临着来自各方的威胁,就像人体时刻暴露在各种病原体中一样。今天,我们就来聊聊网络安全与人体免疫系统的奇妙联系,看看从免疫系统中能汲取哪些构建强…

滚动弹幕案例

滚动弹幕案例 一、需求 1.页面上漂浮字体大小不一、颜色不一&#xff0c;从左向右滚动的弹幕&#xff1b; 2.底部中间有一个发送功能&#xff0c;可以发送新的弹幕&#xff1b; 3.底部的发送部分可以向下收起和弹出。 二、html <div class"container"><…

【wiki知识库】08.添加用户登录功能--后端SpringBoot部分

目录 一、今日目标? 二、SpringBoot后端实现 2.1 新增UserLoginParam 2.2 修改UserController 2.3 UserServiceImpl代码 2.4 创建用户上下文工具类 2.5?通过token校验用户&#xff08;重要&#xff09; 2.6 创建WebMvcConfig 2.7 用户权限校验拦截器 一、今日目标 上…

AI大模型的技术突破与传媒行业变革

性能与成本&#xff1a;AI大模型的“双轮驱动” 过去几年&#xff0c;AI大模型的发展经历了从实验室到产业化的关键转折。2025年初&#xff0c;以DeepSeek R1为代表的模型在数学推理、代码生成等任务中表现超越国际头部产品&#xff0c;而训练成本仅为传统模型的几十分之一。这…

C++字符串处理指南:从基础操作到性能优化——基于std::string的全面解析

博主将从C标准库中的 std::string 出发&#xff0c;详细探讨字符串的处理方法&#xff0c;涵盖常见操作、性能优化和实际应用场景。以下内容将围绕std::string 的使用展开&#xff0c;结合代码示例进行说明。 一、std::string 的基本操作 1.1 创建与初始化 std::string 提供了…

3.【线性代数】——矩阵乘法和逆矩阵

三 矩阵乘法和逆矩阵 1. 矩阵乘法1.1 常规方法1.2 列向量组合1.3 行向量组合1.4 单行和单列的乘积和1.5 块乘法 2. 逆矩阵2.1 逆矩阵的定义2.2 奇异矩阵2.3 Gauss-Jordan 求逆矩阵2.3.1 求逆矩阵 ⟺ \Longleftrightarrow ⟺解方程组2.3.2 Gauss-Jordan求逆矩阵 1. 矩阵乘法 1.…

深入了解 Oracle 正则表达式

目录 深入了解 Oracle 正则表达式一、正则表达式基础概念二、Oracle 正则表达式语法&#xff08;一&#xff09;字符类&#xff08;二&#xff09;重复限定符&#xff08;三&#xff09;边界匹配符&#xff08;四&#xff09;分组和捕获 三、Oracle 正则表达式函数&#xff08;…

用python写一个聊天室程序

下面是一个简单的基于Socket的Python聊天室程序示例&#xff0c;包括服务器端和客户端&#xff1a; 服务器端代码&#xff1a; import socket import threadingdef handle_client(client, address):print(f"New connection from {address}")while True:msg client…

在nodejs中使用RabbitMQ(六)sharding消息分片

RabbitMQ 的分片插件&#xff08;rabbitmq_sharding&#xff09;允许将消息分布到多个队列中&#xff0c;这在消息量很大或处理速度要求高的情况下非常有用。分片功能通过将消息拆分到多个队列中来平衡负载&#xff0c;从而提升消息处理的吞吐量和可靠性。它能够在多个队列之间…

1.7 AI智能体实战指南:从单任务自动化到企业级智能体集群架构

AI智能体实战指南:从单任务自动化到企业级智能体集群架构 一、智能体技术演进:从脚本工具到认知革命的跨越 1.1 三代智能体能力对比 能力维度第一代(规则驱动)第二代(机器学习)第三代(LLM驱动)任务理解固定模式匹配统计模式识别语义推理与逻辑链分解环境适应需人工重写…

Github 2025-02-14 Java开源项目日报 Top10

根据Github Trendings的统计,今日(2025-02-14统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Java项目10C#项目1Guava: 谷歌Java核心库 创建周期:3725 天开发语言:Java协议类型:Apache License 2.0Star数量:49867 个Fork数量:10822 次…

C++17中的clamp函数

一、std::clamp() 其实在前面简单介绍过这个函数&#xff0c;但当时只是一个集中的说明&#xff0c;为了更好的理解std::clamp的应用&#xff0c;本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为&#xff1a; template< class T > constexpr const T& cl…

WEB安全--SQL注入--常见的注入手段

一、联表查询&#xff1a; 1.1原理&#xff1a; 当payload参数被后端查询语句接收到时&#xff0c;其中的非法语句通过union关联显示出其他的数据 1.2示例&#xff1a; #payload: -1 and union select 1,2,database()--#query: $sqlselect * from users where id-1 and union …

QT笔记——QPlainTextEdit

文章目录 1、概要2、文本设计2.1、设置文本2.1、字体样式&#xff08;大小、下划线、加粗、斜体&#xff09; 1、概要 QPlainTextEdit 是 Qt 框架中用于处理纯文本编辑的控件&#xff0c;具有轻量级和高效的特点&#xff0c;以下是它常见的应用场景&#xff1a; 文本编辑器&am…

【D2】神经网络初步学习

总结&#xff1a;学习了 PyTorch 中的基本概念和常用功能&#xff0c;张量&#xff08;Tensor&#xff09;的操作、自动微分&#xff08;Autograd&#xff09;、正向传播、反向传播。通过了解认识LeNet 模型&#xff0c;定义神经网络类&#xff0c;熟悉卷积神经网络的基本结构和…

DeepSeek处理自有业务的案例:让AI给你写一份小众编辑器(EverEdit)的语法着色文件

1 DeepSeek处理自有业务的案例&#xff1a;让AI给你写一份小众编辑器(EverEdit)的语法着色文件 1.1 背景 AI能力再强&#xff0c;如果不能在企业的自有业务上产生助益&#xff0c;那基本也是一无是处。将企业的自有业务上传到线上训练&#xff0c;那是脑子进水的做法&#xff…