训练简单的线性模型,预测电影评分和票房收入

news2024/10/6 12:34:48

文章目录

  • 训练简单的线性模型,预测电影评分和票房收入
    • 数据集
    • 加载数据
    • 可视化数据
    • 分割数据集
    • 训练模型
    • 可视化结果
    • 应用模型
    • 保存和加载模型

训练简单的线性模型,预测电影评分和票房收入

这是一个简单的线性模型,用于预测电影的评分和票房收入。不过却是一个很好的入门案例,可以让你了解如何来解决一个回归问题。

数据集

数据集包含了 10000 条电影的信息,包括评分、票房收入。你可以在这里下载数据集。提取码:1234。文件格式为 csv,可以使用 pandas 来读取。

加载数据

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
import joblib

# 请填写你的数据集路径。
df = pd.read_csv('/movie_rating_box_office_dataset.csv')

df.head()

可视化数据


xDataName = 'Movie_Rating'
yDataName = 'Box_Office_Revenue'

plt.figure(figsize=(10, 6))
plt.scatter(df[xDataName], df[yDataName], alpha=0.5, label='Data points')
plt.title('Scatter Plot of Data')
plt.xlabel(xDataName)
plt.ylabel(yDataName)
plt.legend()
plt.show()

在这里插入图片描述

xDataName和yDataName是两个变量,分别代表电影评分和票房收入。我们可以看到,这两个变量之间的关系是线性的.

分割数据集

这里我们将数据集分割成训练集和测试集,其中训练集占 80%,测试集占 20%。


X_train, X_test, Y_train, Y_test = train_test_split(df[['Movie_Rating']], df['Box_Office_Revenue'], test_size=0.2, random_state=0)

(X_train.shape, X_test.shape), (Y_train.shape, Y_test.shape)

训练模型


# 初始化模型
model = LinearRegression()

# 训练模型
model.fit(X_train, Y_train)

# 预测
Y_pred = model.predict(X_test)

# 计算均方误差
mse = mean_squared_error(Y_test, Y_pred)

coef = model.coef_[0]
intercept = model.intercept_

# 打印结果
coef, intercept, mse

输出结果为:

(2.0000851616098485, 5.022264732247818, 1.016650048849064)

其中,coefintercept 分别是线性模型的斜率和截距,mse 是均方误差。

这里我们使用均方误差来评估模型的好坏,均方误差越小,说明模型越好。

可视化结果

plt.figure(figsize=(10, 6))
plt.scatter(X_test, Y_test, alpha=0.5, label='Actual')
plt.scatter(X_test, Y_pred, alpha=0.5, label='Predicted')
plt.plot(X_test, model.predict(X_test), color='red', linewidth=2, label='Fitted line')
plt.title('Actual vs Predicted')
plt.xlabel('X')
plt.ylabel('Y')
plt.legend()
plt.show()

在这里插入图片描述

应用模型

# 假设你有一个电影评分为 7.5
new_rating = np.array([[7.5]])

# 使用模型进行预测
predicted_revenue = model.predict(new_rating)

# 输出预测的房价
print(predicted_revenue[0])

保存和加载模型


# 保存模型
joblib.dump(model, 'linear_regression_model.pkl')

# 加载模型
loaded_model = joblib.load('linear_regression_model.pkl')

该模型被保存在 linear_regression_model.pkl 文件中,可以使用 joblib.load 来加载模型。

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

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

相关文章

Mysql 性能分析(慢日志、profiling、explain)、读写分离(主从架构)、分库分表(垂直分库、垂直分表、水平分表)

查看系统性能参数 一条sql查询语句在执行前,需要确定查询执行计划,如果存在多种执行计划的话,mysql会计算每个执行计划所需要的成本,从中选择 成本最小的一个作为最终执行的执行计划 想要查看某条sql语句的查询成本,可…

【LeetCode算法系列题解】第21~25题

CONTENTS LeetCode 21. 合并两个有序链表(简单)LeetCode 22. 括号生成(中等)LeetCode 23. 合并K个升序链表(困难)LeetCode 24. 两两交换链表中的节点(中等)LeetCode 25. K 个一组翻转…

Python 中的类,包括self关键字、类的属性限制访问

Python 中的类 一 、类和对象1.概念2.写法: 二、 self用法详解1.self代表类的实例,而非类2.self可以不写吗?3.在继承时,self的使用。 三、 属性限制访问1. 系统定义2.保护类型成员3.私有类型成员 一 、类和对象 1.概念 类是封装…

房屋装修选择自装,如何寻找木工师傅,比价全屋定制和木工并施工(木工阶段)

环境: 地点:杭州 装修类型:自装 面积:建面135平方 进度:木工阶段 问题描述: 房屋装修选择自装,如何寻找木工师傅,比价全屋定制和木工并施工(木工阶段) …

SpringBoot项目通过分词器生成词云

目录 前言一、词云是什么?二、使用步骤1.引入依赖2.application.yml3.Controller4.分词工具类4.词云生成工具类、支持输出文件和字节流 注意 前言 公司项目涉及到员工任务管理,需要从员工任务中获取任务信息生成个人词云图,可以把员工任务中…

【小沐学Unity3d】3ds Max 骨骼动画制作(CAT、Character Studio、Biped、骨骼对象)

文章目录 1、简介2、 CAT2.1 加载 CATRig 预设库2.2 从头开始创建 CATRig 3、character studio3.1 基本描述3.2 Biped3.3 Physique 4、骨骼系统4.1 创建方法4.2 简单示例 结语 1、简介 官网地址: https://help.autodesk.com/view/3DSMAX/2018/CHS https://help.aut…

Python基础之基础语法(二)

Python基础之基础语法(二) 语言类型 静态语言 如:C C Java ina a 100 a 100 a abc # 不可以静态语言需要指定声明标识符的类型,之后不可以改变类型赋值。静态语言变异的时候要检查类型,编写源代码,编译时检查错误。 动态语…

jupyter常用的方法以及快捷键

选中状态 蓝色 按enter 进入编辑状态 编辑状态 绿色 按Esc 进入选中状态 Code模式运行是运行代码 Markdown模式运行是进入预览状态 - - - 是文本格式的一种精简的语法形式 Raw NBConvert 是默认文本状态 - - - 输入什么样 展示什么样 Y - - - 切换code模式 M - - - 切换Markdo…

01-虚拟机安装Windows Server操作系统

1、创建并配置虚拟机 2、安装操作系统 找到windows Server镜像 等待安装 3、设置密码

Linux用一键安装包部署禅道(18.5版本)

一、安装 禅道软件下载地址:禅道官方下载地址 - 禅道开源项目管理软件 - 禅道开源项目管理软件 请根据自己的需要下载对应的版本。 官方教程地址: (推荐)Linux用一键安装包 - 禅道使用手册 - 禅道开源项目管理软件 注:Linux 一键安装包必须直接解压到 …

win11右键菜单恢复win10风格

输入以下命令 reg.exe add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

uniapp实现移动端的视频图片轮播组件

1、视频轮播组件app体验地址 https://tt.appc02.com/nesxr6 2、支持小程序、H5、APP&#xff0c;在小程序上运行的效果图 3、使用方法 第一步&#xff0c;按照截图步骤配置好 第二步&#xff1a;参考以下代码&#xff0c;使用视频图片轮播组件 <template><view>…

机器学习:Xgboost

Xgboost XGBoost&#xff08;eXtreme Gradient Boosting&#xff09;是一种机器学习算法&#xff0c;是梯度提升决策树&#xff08;Gradient Boosting Decision Trees&#xff09;的一种优化实现。它是由陈天奇在2014年开发并推出的。XGBoost是一种强大而高效的算法&#xff0…

【Sprig AOP】

目录 &#x1f957;1 AOP 的思想 &#x1f35a;2 AOP 的组成 &#x1f95a;2.1 切面 &#x1f359;3 AOP 的实现 &#x1f364;3.1 添加 Spring AOP 依赖 &#x1f96b;3.2 定义切面 &#x1f363;3.3 定义切点 &#x1f373;3.4 实现通知 &#x1f354;4 AOP 实现的一个例子 1…

RHCE——十五、shell条件测试

RHCE 一、用途二、基本语法1、格式2、示例 三、文件测试1、参数2、示例 四、整数测试1、作用2、操作符3、示例4、案例分析 五、逻辑操作符1、符号2、例 六、命令分隔符 一、用途 为了能够正确处理Shell程序运行过程中遇到的各种情况&#xff0c;Linux Shell提供了一组测试运算…

电商项目part10 高并发缓存实战

缓存的数据一致性 只要使用到缓存&#xff0c;无论是本地内存做缓存还是使用 redis 做缓存&#xff0c;那么就会存在数据同步的问题。 先读缓存数据&#xff0c;缓存数据有&#xff0c;则立即返回结果&#xff1b;如果没有数据&#xff0c;则从数据库读数据&#xff0c;并且把…

2023-9-2 二分图的最大匹配

题目链接&#xff1a;二分图的最大匹配 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510, M 100010;int n1, n2, m; int h[N], e[M], ne[M], idx;// 右边点所对应的左边的点 int match[N]; bool st[N];v…

【无标题】嵌入式开发-IIC通信介绍

IIC&#xff08;Inter-Integrated Circuit&#xff09;是一种两线式串行总线协议&#xff0c;用于连接微控制器及其他外围设备。在IIC总线上的数据传输速率可以是标准模式&#xff08;100Kbit/s&#xff09;&#xff0c;快速模式&#xff08;400Kbit/s&#xff09;和高速模式&a…

MySQL连接池配置及FullGC分析

本文主要讲述MySQL连接池配置不合适时&#xff0c;由于MySQL以虚引用的方式作为线程清理的后备手段&#xff0c;导致JVM年老代随时间缓慢增长&#xff0c;直至FullGC的问题。为了优化数据库连接池配置&#xff0c;使得JVM进行尽量少的FullGC导致服务故障&#xff0c;本文提供了…

在windows下进行maven安装配置

下载 https://maven.apache.org/download.cgi 安装配置 配置settings.xml文件 如果需要修改仓库的地址&#xff0c;可新增一条localRepository的记录&#xff0c;加上存放下载jar包的地址。 设置Maven镜像下载地址 配置完成&#xff0c;在命令行输入mvn help:system测试&#…