手写实现线性回归

这篇博客详细介绍了如何实现线性回归。首先通过一元一次拟合的f(x) = wx + b来理解线性回归的基础,接着不仅使用已有的线性回归库进行拟合,还手写实现了线性回归的简版算法。随后,作者进一步探讨了一元二次拟合,并利用sklearn库的算法进行预测。最后,讲解了如何用手写线性回归拟合多属性的多元方程。

一元一次拟合f(x)=wx+b

使用已有的线性回归拟合函数

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

X = np.linspace(2, 10, 20).reshape(-1,1)

# f(x) = wx + b
y = np.random.randint(1, 6, size=1)*X + np.random.randint(-5, 5, size=1)

# 噪声,加盐
y += np.random.randn(20, 1)*0.8

plt.scatter(X, y, color = 'red')

lr = LinearRegression()
lr.fit(X, y)

w = lr.coef_[0, 0]
b = lr.intercept_[0]
print(w, b)
# 4.984999512157303 -3.7974579753883653

plt.scatter(X, y)

x = np.linspace(1, 11, 50)

plt.plot(x, w*x + b, color='green')

 

手写实现线性回归(简版)

# 使用梯度下降解决
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值