【机器学习】线性回归方程的模型构建实验设计


前言

机器学习中线性回归模型也能解决许多问题,对大量的观测数据进行处理,从而得到比较符合事物内部规律的数学表达式。也就是说寻找到数据与数据之间的规律所在,从而就可以模拟出结果,也就是对结果进行预测。解决的就是通过已知的数据得到未知的结果。例如:对房价的预测、判断信用评价、电影票房预估等。今天就来分享一下线性回归模型的实验。


一、实验准备

1.准备好数据表house.csv文件
2.安装好环境pandas用于读取文件

pip install pandas

或者加镜像源以后安装,速度加快
清华镜像源:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

分享国内一些pip(镜像)源:
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学:https://pypi.mirrors.ustc.edu.cn/simple/
豆瓣(douban):http://pypi.douban.com/simple/
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
中国科学技术大学 :http://pypi.mirrors.ustc.edu.cn/simple/

二、实验内容

假设 house.csv 是对变量 y 随变量 x 的变化情况的统计数据集。请根据回归模型公式,使用 Python 语言编程计算线性回归模型的系数,建立一个线性回归模型,Y = wx + b
要求:
1)计算出回归系数,输出模型表达式,绘制散点图和回归直线,输出均方误差;
2)给出当自变量 x =6245 时,因变量 y 的预测值。(x的值可以自定义)

三、实验注意事项

1、使用pandas模块中的read_csv方法读取csv文件。
import pandas as pd
pd.read_csv(“D:\ziranyuyanchuli\Pycharm\python_pandas\house.csv”, sep=”,”)
注意你的csv文件的地址

在这里插入图片描述

四、实验源码

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

# 读取数据部分
#文件地址是你要导入数据的地址文件
data = pd.read_csv("D:\ziranyuyanchuli\Pycharm\python_pandas\house.csv", sep=',')
y = data['price']
x = data['parking']

# 线性回归模型
class LinerRegression:
    def __init__(self, w=0.1, b=0.1):
        self.w = w
        self.b = b

# 求系数w和b
    def leastsq(self, x, y):
        self.w = np.sum(y * (x - np.mean(x))) / \
                (np.sum(x*x)-1 / len(x) * np.sum(x) ** 2)
        self.b = 1 / len(x) *np.sum(y - self.w * x)

# 求变量y的预测值
    def predict(self, x):
        return self.w * x + self.b

# 求均方误差
    def mse(self, x, y_, y):
        return 1 / len(x) *np.sum(y_ -y) ** 2

# 测试部分
lr = LinerRegression()

# 求解w和b
lr.leastsq(x, y)
print('-------输出w和b------')
print('w = {:.2f},b ={:.2f}'.format(lr.w, lr.b))
print('-------输出y=wx+b的函数------')
print(f'y= {lr.w:.0f}x + {lr.b:.0f}')

# 计算输出缺失值
# print(lr.compute_cost(x,y))
print('------输出y变量的真实值------')
print(y)
y_ = lr.predict(x)  #预测
print('------输出y变量的预测值------')
print(y_)
print('------输出均方误差------')
print(lr.mse(x, y_, y))
plt.scatter(x, y) # 画散点图
plt.plot(x, y_, c='r') #画回归直线
plt.show()

五、实现结果

在这里插入图片描述
有需要数据表的可以留言或者私信

总结

以上就是机器学习中的用编程来做线性回归模型实验,今天分享就到这里了,希望我和我的小伙伴们不要停下学习的脚步,共同进步哦~

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@¥文竹¥

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值