Liner Regression线性回归
线性回归是最典型的回归问题, 其目标值与所有的特征之间存在线性关系.
一元线性回归:
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression
rng = np.random.RandomState(1) # 设置随机局部种子
x = 100 * rng.rand(50, 1) # rand是[0,1] 均匀分布
y = 1.25 * x - 20 + 5*rng.randn(50, 1) # randn是标准正态分布
model = LinearRegression(fit_intercept=True)
model.fit(x, y) # x,y的每一行是一个样本,即要求是列向量
x_fit = np.linspace(0, 100, 1000)
y_fit = model.predict(x_fit[:, np.newaxis])
print("Model slope: ", model.coef_[0])
print("Model intercept:", model.intercept_)
print('方程的判定系数(R^2): %.2f' % model.score(x, y))
plt.figure(figsize=(16,12))
plt.scatter(x, y,s=10, c='k', marker='.')
plt.plot(x_fit, y_fit)
ax = plt.gca()
ax.set_aspect("equal") # 纵横坐标单位相同
plt.grid(True)
plt.xlabel('x')
plt.ylabel('