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 服…

【汇编】存储器

存储器 计算机存储器可分为内部存储器(又称内存或主存)和外部存储器,其中内存是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: 短整型,通常占用…

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 …

【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也不会打开 但最后单…

哈希函数算法

概述 为了实现哈希集合这一数据结构,有以下几个关键问题需要解决: 哈希函数:能够将集合中任意可能的元素映射到一个固定范围的整数值,并将该元素存储到整数值对应的地址上。冲突处理:由于不同元素可能映射到相同的整…

C语言中局部变量和全局变量是否可以重名?为什么?

可以重名 在C语言中, 局部变量指的是定义在函数内的变量, 全局变量指的是定义在函数外的变量 他们在程序中的使用方法是不同的, 当重名时, 局部变量在其所在的作用域内具有更高的优先级, 会覆盖或者说隐藏同名的全局变量 具体来说: 局部变量的生命周期只在函数内部,如果出了…

【C++类和对象】构造函数与析构函数

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

Stacked Hourglass Networks for Human Pose Estimation 用于人体姿态估计的堆叠沙漏网络

Stacked Hourglass Networks for Human Pose Estimation 用于人体姿态估计的堆叠沙漏网络 这是一篇关于人体姿态估计的研究论文,标题为“Stacked Hourglass Networks for Human Pose Estimation”,作者是 Alejandro Newell, Kaiyu Yang, 和 Jia Deng&a…

多模态 ——LLaVA 集成先进图像理解与自然语言交互GPT-4的大模型

概述 提出了一种大型模型 LLaVA,它使用 GPT-4 生成多模态语言图像指令跟随数据,并利用该数据将视觉和语言理解融为一体。初步实验表明,LLaVA 展示了出色的多模态聊天能力,在合成多模态指令上的表现优于 GPT-4。 在科学质量保证中…

第1章、react基础知识;

一、react学习前期准备; 1、基本概念; 前期的知识准备: 1.javascript、html、css; 2.构建工具:Webpack:https://yunp.top/init/p/v/1 3.安装node:npm:https://yunp.top/init/p/v/1 …

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之三 简单动态聚光灯效果

Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之三 简单动态聚光灯效果 目录 Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之三 简单动态聚光灯效果 一、简单介绍 二、简单动态聚光灯效果实现原理 三、简单动态聚光灯效果…

Mysql视图与事物与字符集实验

一 视图 1.视图的定义 视图是一个虚拟表,其内容由查询定义。 2.视图的优点 1)视点集中 2)简化操作 3)定制数据 4)分隔合并数据 5)安全性好 3.语法格式及限定条件 1)语法格式&#xff1…