网站的大图标怎么做,曲沃网站建设,创办一个网站需要多少资金,网站项目设计线性回归什么是线性回归#xff1f;回归分析#xff1a;线性回归#xff1a;回归问题求解单因子线性回归简单实例评估模型表现可视化模型展示多因子线性回归什么是线性回归#xff1f;
回归分析#xff1a;
根据数据#xff0c;确定两种或两种以上变量间相互依赖的定量…
线性回归什么是线性回归回归分析线性回归回归问题求解单因子线性回归简单实例评估模型表现可视化模型展示多因子线性回归什么是线性回归
回归分析
根据数据确定两种或两种以上变量间相互依赖的定量关系
线性回归
回归分析中变量与因变量存在线性关系
回归问题求解 注解为了找合适的a和b问题被替换成了寻找预测值和实际值之间的距离最小化。
损失函数 注解为什么要除以2m是为了我们后面方便求解因为我们要进行求导。这里除以2m后对最后的ab求解没有影响。
梯度下降法
单因子线性回归
简单实例
简单说就是为了求yaxb中的a和b
假设我们有一份数据如下 我们先看一下这些数据的分布
from matplotlib import pyplot as plt
# 输入数据
x [1,2,3,4,5,6,7,8,9,10]
y [7,9,11,13,15,17,19,21,23,25]# 生成一个画布设置坐标轴的比例
plt.figure(figsize(5,5))# 创建散点图
plt.scatter(x,y)# 显示图形
plt.show()要对上述数据使用线性回归算法进行拟合需要用到scikit-learn库。
scikit-learn是一个适用于python语言的、专门针对于机器学习应用的算法库。
使用sklearn.linear_model库中的线性回归算法进行拟合的示例代码
from sklearn.linear_model import LinearRegression
import numpy as np# 输入数据
x [1,2,3,4,5,6,7,8,9,10]
y [7, 9, 11, 13, 15, 17, 19, 21, 23, 25]# 把x从一维转为二维
x np.array(x)
x x.reshape(-1,1)# 建立线性回归模型
model LinearRegression()# 训练模型
model.fit(x, y)# 获得yaxb中的a和b
amodel.coef_
bmodel.intercept_
print(a)
print(b)# 预测
x_new [[11], [12], [13], [14], [15]]
y_pred model.predict(x_new)# 输出预测结果
print(y_pred)注解 在这个例子中输入数据 x 和输出数据 y 分别被定义为两个列表。 然后需要把x从一维转为二维让x 中的每个元素是一个列表包含一个自变量的值。 这是为了满足 LinearRegression() 函数的输入要求。否则会报错。 我们首先使用 LinearRegression() 函数初始化一个线性回归模型对象 model。 然后我们使用模型对象的 fit() 方法训练模型输入参数为 x 和 y。 然后model.coef_获取系数model.intercept_获取截距 最后我们使用模型对象的 predict() 方法预测 x_new 中对应的因变量值 y_pred。 最后我们输出预测结果。
评估模型表现
在上述代码的基础上添加如下代码
from sklearn.metrics import mean_squared_error, r2_score# 计算预测值与真实值之间的MSE
mse mean_squared_error(y, model.predict(x))# 计算决定系数R2
r2 r2_score(y, model.predict(x))# 输出MSE和R2
print(MSE:, mse)
print(R2:, r2)
注解 我们使用 mean_squared_error 函数计算预测值与真实值之间的均方误差MSE。 我们使用 r2_score 函数计算模型的决定系数R2。 最后我们输出计算得到的MSE和R2。 MSE越小越好R2分数越接近1越好 可视化模型展示
在上述代码的基础上添加如下代码
import matplotlib.pyplot as plt# 绘制数据散点图
plt.scatter(x, y, colorblack)# 绘制拟合直线
plt.plot(x, model.predict(x), colorblue, linewidth3)# 添加图例
plt.legend([Linear Regression Model, Data])# 添加坐标轴标签
plt.xlabel(X)
plt.ylabel(Y)# 添加标题
plt.title(Linear Regression Model)# 显示图形
plt.show()注解 我们使用 scatter 函数绘制数据散点图其中 x 和 y 分别是自变量和因变量。 我们使用 plot 函数绘制线性回归模型的拟合直线其中 x 和 model.predict(x) 分别表示自变量和对应的因变量预测值。 我们使用 legend 函数添加图例其中 [‘Linear Regression Model’, ‘Data’] 分别表示拟合直线和数据散点图的标签。 我们使用 xlabel 和 ylabel 函数添加坐标轴标签。 我们使用 title 函数添加标题。 最后我们使用 show 函数显示图形。
多因子线性回归