AI应用实战2:使用scikit-learn进行回归任务实战

代码仓库在gitlab,本博客对应于02文件夹。

1.问题分析

在此篇博客中我们来对回归任务进行实战演练,背景是直播带货平台的业绩预测。第一步,就是分析问题。

  • 问题痛点: 在直播带货平台上,由于市场环境多变、用户行为复杂以及各种营销策略的影响,预测单次直播活动的实际成交量对于商家和平台来说是一项具有挑战性的任务。痛点在于无法准确预估每次直播带货活动将会产生的销售业绩,这直接影响到库存管理、供应链协调、促销策略制定以及主播资源调配等多个环节的效率和效果。

  • 现状: 当前,在没有有效预测模型的情况下,平台主要依赖过往经验或者简单的趋势分析来进行粗略的销量估算,而这些方法往往忽视了诸多影响因素(例如转发量、流量指数、商品类型热度等)对成交量的潜在贡献,导致预测准确性不高,可能会造成库存积压或供不应求的问题,增加经营风险。

  • 目标: 目标是建立一个基于机器学习的回归预测模型,该模型能够根据给定的直播前关键指标(如转发量、流量指数和商品类型热度等),准确预测即将进行的直播带货活动可能达成的成交量。通过精确预测,可以指导商家合理安排库存,优化资源配置,并提高整体运营效率与效益。

  • 解决问题的方法: 针对这一需求,可使用监督学习中的回归分析技术来解决。首先,收集大量历史直播活动的数据,包括但不限于转发量、流量指数、商品类型热度以及对应的实际成交量。然后,利用这些数据训练一个回归模型,如线性回归、决策树回归、随机森林回归、支持向量机回归或神经网络回归等。模型会学习不同变量之间的关系并据此对未来直播的成交量做出预测。

  • 可能使用的AI技术:
    回归分析:这是最适合本场景的技术,因为我们需要的是一个连续数值(即成交量)作为输出而非离散类别标签。

  • 具体步骤:
    数据准备:收集历史直播带货数据集,包括自变量(转发量、流量指数、商品类型编码等)、因变量(成交量)。
    特征工程:处理商品类型,将其转换为有意义的数值特征(如one-hot编码、嵌入式表示等)。
    模型训练:选择合适的回归算法训练模型,调整模型参数以优化性能。
    验证与评估:通过交叉验证等方式评估模型的预测性能,如均方误差(MSE)、R²分数等。
    预测应用:将训练好的模型应用于新直播活动的各项指标,得出预测成交量。

2.数据准备

由于没有数据来源,所以我是利用AI生成的数据,用来演示回归任务实战。数据集划分为80%训练集,20%测试集。

  • 数据集:
    为代码仓库(地址在博客顶部)文件夹中的dataset.csv文件。

在这里插入图片描述

3.代码实现

# coding:gbk
####  数据集划分
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score# 加载CSV数据集
data = pd.read_csv('dataset.csv',encoding='gbk')# 假设'转发量'、'流量指数'、'品类热度'是特征列,'成交量'是目标列
features = data[['转发量', '流量指数', '品类热度']]
target = data['成交量']# 将数据集按比例划分为训练集和测试集,比如80%的数据用于训练,20%用于测试
# 这里random_state参数是为了保证每次划分结果的一致性,不设置的话每次运行会产生不同的划分结果
X_train, X_test, y_train, y_test = train_test_split(features, target, test_size=0.2, random_state=42)# 训练模型(这里以线性回归为例)
model = LinearRegression()
model.fit(X_train, y_train)# 预测
y_pred_train = model.predict(X_train)  # 对训练集进行预测
y_pred_test = model.predict(X_test)  # 对测试集进行预测# 评估模型
mse_train = mean_squared_error(y_train, y_pred_train)  # 计算训练集上的均方误差
r2_train = r2_score(y_train, y_pred_train)  # 计算训练集上的决定系数R²mse_test = mean_squared_error(y_test, y_pred_test)  # 计算测试集上的均方误差
r2_test = r2_score(y_test, y_pred_test)  # 计算测试集上的决定系数R²print(f"训练集均方误差 (MSE): {mse_train}")
print(f"训练集决定系数 R2: {r2_train}")
print("\n")
print(f"测试集均方误差 (MSE): {mse_test}")
print(f"测试集决定系数 R2: {r2_test}")

在这里插入图片描述

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

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

相关文章

5 个让日常编码更简单的 Python 库

今天我们一起来研究一些非常有用的第三方模块,可以使得我们的日常编码变得更加简单方便 sh https://github.com/amoffat/sh 如果曾经在 Python 中使用过 subprocess 库,那么我们很有可能对它感到失望,它不是最直观的库,可能还有些…

ubuntu 更改 ssh 默认端口 22 以加固安全

出于加固安全考虑,一般公司会禁用 ssh 的 22 端口号,因此我们需要改为其他端口。 1、ssh 命令行登录 进入台式机,修改 /etc/ssh/sshd_config 文件中的 Port 配置行,将 22 改为 8022,保存修改后,重启 ssh 服…

Vue3点击事件实现使table中最后一列可编辑的同时,表格中的滚动条自动滚动到该列位置

这个小功能我大概花了小半天的时间才实现,所以无比痛恨给我提这个需求的人,还好最后没有放弃,谨以此博客作为记录我被迫走上前端之路的第n天!!! 代码来自项目里面的一部分,所以可能有点乱#&…

作文笔记6 写作顺序

时间顺序 举例:清晨 中午 傍晚,一般用来写景物 空间顺序/游览顺序 上下左右,前后内外 事情发展顺序 故事一般按照该顺序,起因,经过,结果 逻辑顺序 事理说明文,比如说一个事物&#xff0c…

【汇编】存储器

存储器 计算机存储器可分为内部存储器(又称内存或主存)和外部存储器,其中内存是CPU能直接寻址的储存空间,由半导体器件制成 存储单元的地址和内容 计算机存储信息的基本单位是一个二进制位,一位可存储一个二进制数&…

企业利器大曝光:CRM系统功能剖析

企业存在的根本目标是吸引并留住顾客。为了能够追踪顾客的信息以及与他们保持联系,不论企业规模大小,都长期使用了多种传统的手工方式。——彼得德鲁克 CRM系统的功能有哪些?如何做客户管理一直是企业管理中的热门话题,CRM&#…

[大模型]Qwen1.5-7B-Chat-GPTQ-Int4 部署环境

Qwen1.5-7B-Chat-GPTQ-Int4 部署环境 说明 Qwen1.5-72b 版本有BF16、INT8、INT4三个版本,三个版本性能接近。由于BF16版本需要144GB的显存,让普通用户忘却止步,而INT4版本只需要48GB即可推理,给普通用户本地化部署创造了机会。&…

C语言——数据在内存中的存储

引言 数据是程序运行的核心。当我们用C语言编写程序时,我们实际上是在操纵内存中的数据。这些数据在内存中是如何储存的,今天我们就来学习这些内容。 基本数据类型 1.整型 int: 基本整型,通常占用4个字节 short: 短整型,通常占用…

图像处理特征提取

图像处理中的特征提取是指从图像数据中提取出具有区分性和代表性的特征,以用于图像分类、目标检测、图像匹配等任务。下面介绍几种常见的图像处理特征提取方法: 颜色特征:颜色是图像中最直观且重要的特征之一。常见的颜色特征提取方法包括颜色…

zustand状态库在react类组件中使用

如果想在React类组件中使用zustand状态管理库,可以在类组件中调用create函数创建一个状态store,并使用useStore钩子来访问和更新状态。虽然zustand通常与函数式组件一起使用,但也可以在类组件中使用。 以下是一个简单的示例,展示…

MS软件Perl脚本提能培训方案

热忱欢迎贵公司选派研发人员参加铜陵浩辰科技有限公司举办的《MS软件Perl脚本提能培训方案》,此次培训将特邀具有多年授课经验的老师主讲。 一、培训概述 本培训旨在提高学员Perl脚本编写能力,能实现自行编写脚本,提高Perl脚本进行高级分析…

Gradle 在 Spring 中的使用-ApiHug准备-工具篇-006

🤗 ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱,有温度,有质量,有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

【计算机组成原理】CISC和RISC

目录 前言1. CISC(复杂指令集计算)2. RISC(精简指令集计算)3. 差异 前言 对于这方面的知识常见于408或者软考 CISC(Complex Instruction Set Computing)和RISC(Reduced Instruction Set Compu…

【arduino】控制N位数码管

以下以四位共阳极数码管为例; 本文所有说明均以注释的方式进行。 使用方法: #include "DigitalTube.h" //每位共阳极对应的引脚int digital[4] {8, 11, 12, 7};//参数分别为a f b g e c d dp digital(共阳极引脚数组) length(digital长度)D…

LRUCache原理及源码实现

目录 LRUCache简介: LRUCache的实现: LinkedHashMap方法实现: 自己实现链表: 前言: 有需要本文章源码的友友请前往:LRUCache源码 LRUCache简介: LRU是Least Recently Used的缩写&#xf…

ChatGPT-4 Turbo 今天开放啦!附如何查询GPT-4 是否为 Turbo

2024年4月12日,OpenAI在X上宣布GPT-4 Turbo开放了!提高了写作、数学、逻辑推理和编码方面的能力。另外最重要的是,响应速度更快了!! ChatGPT4 Turbo 如何升级?解决国内无法升级GPT4 Turbo的问题&#xff0…

设计模式-代理模式(Proxy)

1. 概念 代理模式(Proxy Pattern)是程序设计中的一种结构型设计模式。它为一个对象提供一个代理对象,并由代理对象控制对该对象的访问。 2. 原理结构图 抽象角色(Subject):这是一个接口或抽象类&#xff0…

ros2 launch gazebo_ros gazebo.launch.py无法启动

我的系统是ubuntu20.04,ros2的版本是humble,当运行gazebo仿真时,运行 ros2 launch gazebo_ros gazebo.launch.py命令,会出现以下问题: 此时,这个页面会卡死在第六行,gazebo也不会打开 但最后单…

Element Plus的deep穿透

Element Plus的deep穿透主要用于解决在Vue3项目中使用Element Plus组件库时,样式设置不生效的问题。当直接在Element Plus组件上使用样式时,由于Element Plus的样式是通过外部样式文件实现的,这些样式的优先级更高,因此直接添加的…

009优化器

优化器的逻辑 优化器选择索引的目的是选择一个执行方案,用最小的代价去执行语句。 数据库里影响执行代价的因素。 1)扫描行数 ,扫描的行数越少,意味着访问磁盘的数据的次数越小,消耗cpu的资源越少 2)是…