一元一次拟合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')

手写实现线性回归(简版)
# 使用梯度下降解决

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

1073

被折叠的 条评论
为什么被折叠?



