线性回归模型数值仿真

设y=hθ(x)=a+bx+ϵ 是一个直线方程,其中𝜀 是高斯噪声。请采100个输入样本,计算出相应的输出样本,并利用线性回归模型拟合这些样本,利用最小二乘求解。可视化这两类算法的回归的结果

import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression

np.random.seed(42)

# 1. 生成100个输入样本
x = np.random.rand(100, 1) * 10  # 随机生成在0-10范围内的100个数

# 2. 根据方程 y = a + bx + epsilon 计算输出
# 生日: 12月
a = 2
b = 1
epsilon = np.random.randn(100, 1)  # 生成高斯噪声
y = a + b*x + epsilon

# 3. 使用线性回归模型拟合这些样本
reg = LinearRegression().fit(x, y)

# 4. 获取拟合的参数
a_hat = reg.intercept_[0]
b_hat = reg.coef_[0][0]

# 5. 可视化原始数据和回归结果
plt.scatter(x, y, color='blue', label='Original Data with Noise')
plt.plot(x, reg.predict(x), color='red', label=f'Fitted Line: y = {a_hat:.2f} + {b_hat:.2f}x')
plt.title("Linear Regression Result")
plt.xlabel("x")
plt.ylabel("y")
plt.legend()
plt.show()

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

!chen

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值