当前位置: 首页 > news >正文

基于csv数据建立线性回归模型并预测进行评估模型表现案例实现

一、数据处理

1.加载csv数据进行查看

import pandas as pd
data = pd.read_csv("generated_data.csv")
print(data)

在这里插入图片描述
2.将上述数据的x和y进行分离开,便于后续进行坐标建立

x = data.loc[:,'x']
y = data.loc[:,'y']
print(x,y)

在这里插入图片描述
3.先使用matplotlib进行显示数据

from matplotlib import pyplot as plt
# 绘制散点图
plt.figure(figsize=(5,5))
plt.title('generated_data')
plt.xlabel('x')
plt.ylabel('y')
plt.scatter(x,y)
plt.show()

在这里插入图片描述

二、使用sklearn建立线性模型

1.使用LinearRegression

from sklearn.linear_model import LinearRegression
lr_model = LinearRegression()
print(type(lr_model)) # <class 'sklearn.linear_model._base.LinearRegression'>

2.拟合线性回归模型
方法介绍:

linear_regression.fit(X, y, sample_weight=None)

X:数组类型
y:数组类型
weight:可选参数,样本权重

查看上述数据中x和y的类型以及维度

print(type(x),type(y))
print(x.shape,y.shape)

在这里插入图片描述
转化为数组类型,并设置维度为1列,行数自动计算

import numpy as np
x=np.array(x)
y=np.array(y)
x=x.reshape(-1,1)
y=y.reshape(-1,1)

使用fit()方法进行拟合

lr_model.fit(x,y)

3.进行预测x=3.5时的数值

y_3 = lr_model.predict([[3.5]])

在这里插入图片描述
4.进行查验该线性回归模型对应的a与b的系数值

# 打印出线性模型的系数a和b
a = lr_model.coef_
b = lr_model.intercept_
print(a,b)

在这里插入图片描述
即对应y = 2*x+5

三、进行模型评估

使用均方误差和决定系数进行模型的评估
均方误差越小,说明模型的预测越准确
决定系数越接近于1,说明模型的拟合程度越好

from sklearn.metrics import mean_squared_error,r2_score
y_pre=lr_model.predict(x)
Mse = mean_squared_error(y,y_pre)
R2 = r2_score(y,y_pre)
print(Mse,R2)
3.1554436208840474e-31 1.0

说明均方误差是比较小的,几乎接近0,拟合程度完美

http://www.lryc.cn/news/163237.html

相关文章:

  • MySQL学习问题记录
  • YMatrix 5.0 与天翼云完成产品兼容性认证
  • 蓝桥杯官网练习题(旋转)
  • Jtti:Linux如何开机启动bootstrap
  • qt之事件循环与线程的关系
  • Python 变量的定义和数据类型的转换
  • Android Java JVM常见问答分析与总结
  • 【业务功能篇102】springboot+mybatisPlus分页查询,统一返回封装规范
  • 中国手机新进程:折叠屏出海的荣耀,5G中回归的华为
  • 安装RabbitMQ的各种问题(包括已注册成windows服务后,再次重新安装,删除服务重新注册遇到的问题)
  • 多线程与高并发——并发编程(6)
  • Elasticsearch——Docker单机部署安装
  • 基于AHP模型指标权重分析python整理
  • 用python实现基本数据结构【02/4】
  • 蓝牙Mesh专有DFU
  • 浅谈综合管廊智慧运维管理平台应用研究
  • Httpservletrequest与Httpservletresponse
  • 文件上传之图片码混淆绕过(upload的16,17关)
  • Jetsonnano B01 笔记5:IIC通信
  • 【网络爬虫笔记】爬虫Robots协议语法详解
  • MATLAB 2022b 中设置关闭 MATLAB 之前进行询问
  • 在SpringBoot框架下,接口有读个实现类,在不改变任何源码的情况下,SpringBoot怎么知道给接口注入哪个实现类的依赖呢?
  • 探索数据库管理的利器 - PHPMyAdmin
  • 大数据技术原理与应用学习笔记第1章
  • 算法从未放弃你,放弃你的只有你自己
  • [Linux 基础] linux基础指令(1)
  • ESP32蓝牙主从站模式:主站发送,从站接收,同时附加简单通信协议
  • Redis布隆过滤亿级大数据
  • 车联网仿真工具Veins学习1
  • 封闭岛屿数量 -- 二维矩阵的dfs算法