毫升 |回归技术的类型
何时选择回归?
回归问题是输出变量是实数或连续值,例如“薪水”或“体重”。可以使用许多不同的模型,最简单的是线性回归。它试图用通过这些点的最佳超平面来拟合数据。
回归分析是一种统计过程,用于估计因变量或标准变量与一个或多个自变量或预测变量之间的关系。回归分析解释了与选择预测变量变化相关的标准变化。标准的条件期望基于预测变量,其中在自变量发生变化时给出因变量的平均值。回归分析的三个主要用途是确定预测变量的强度、预测效果和趋势预测。
回归类型:
- 线性回归 用于预测分析。线性回归是一种线性方法,用于对标准或标量响应与多个预测变量或解释变量之间的关系进行建模。线性回归关注给定预测变量值的响应的条件概率分布。对于线性回归,存在过拟合的危险。线性回归的公式是:Y' = bX + A。
- 多项式回归用于曲线数据。多项式回归与最小二乘法拟合。回归分析的目标是对因变量 y 关于自变量 x 的期望值建模。多项式回归方程为: l = .
- 逐步回归用于将回归模型与预测模型拟合。它是自动执行的。在每一步中,都会从一组解释变量中添加或减去变量。逐步回归的方法是前向选择、后向消除和双向消除。逐步回归的公式是 .
- 岭回归是一种分析多元回归数据的技术。当出现多重共线性时,最小二乘估计是无偏的。一定程度的偏差被添加到回归估计中,因此,岭回归减少了标准误差。岭回归的公式是 .
- Lasso 回归是一种同时执行变量选择和正则化的回归分析方法。 Lasso 回归使用软阈值。 Lasso 回归仅选择提供的协变量的子集用于最终模型。套索回归是 .
- ElasticNet 回归是一种正则化回归方法,它线性结合了 lasso 和 ridge 方法的惩罚。 ElasticNet 回归用于支持向量机、度量学习和投资组合优化。惩罚函数由下式给出: .
下面是简单的实现:
Python3
# importing libraries
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
x = 11 * np.random.random((10, 1))
# y = a * x + b
y = 1.0 * x + 3.0
# create a linear regression model
model = LinearRegression()
model.fit(x, y)
# predict y from the data where the x is predicted from the x
x_pred = np.linspace(0, 11, 100)
y_pred = model.predict(x_pred[:, np.newaxis])
# plot the results
plt.figure(figsize =(3, 5))
ax = plt.axes()
ax.scatter(x, y)
ax.plot(x_pred, y_pred)
ax.set_xlabel('predictors')
ax.set_ylabel('criterion')
ax.axis('tight')
plt.show()
输出: