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

文章目录

  • 前言
  • 一、实验准备
  • 二、实验内容
  • 三、实验注意事项
  • 四、实验源码
  • 五、实现结果
  • 总结


前言

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


一、实验准备

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文件的地址

【机器学习】线性回归方程的模型构建实验设计_第1张图片

四、实验源码

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()

五、实现结果

【机器学习】线性回归方程的模型构建实验设计_第2张图片
有需要数据表的可以留言或者私信

总结

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

你可能感兴趣的:(机器学习,线性回归,python,人工智能)