线性模型
为线性模型
分类和回归的区别
分类:离散
回归:连续
本文主要关注线性回归模型
常用线性回归模型类型
OLS(最小二乘法)
通过最小化 真值和预测值之间 的差 的平方和 找到超参数
或者用公式表示为
岭(Ridge)回归
在最小二乘法的基础上增加了一个回归目标函数的项,这个项用于克服最小二乘法回归中高维度产生的过拟合问题
目标函数用公式表示为
Lasso回归
在岭回归模型中常常得到不重要参数为接近0的很小的数的情况,而不是直接让这些参数置0以直接简化模型,因此使用绝对值代替平方对加项进行优化,得到Lasso回归模型
目标函数用公式表示为
线性回归模型的代码实现
使用sklearn库进行实现的线性回归模型
# To add a new cell, type '# %%'
# To add a new markdown cell, type '# %% [markdown]'
# %%
import sklearn
import numpy as np
from sklearn import linear_model
# %%
X = np.array([[0, 1], [3, -2], [2, 3]])
y = np.array([0.5, 0.3, 0.9])
# %%
linear_reg = linear_model.LinearRegression()
# %%
linear_reg.fit(X, y)
# %%
print(linear_reg.intercept_, linear_reg.coef_)
# 0.36666666666666675 [0.06666667 0.13333333]
# %%
print(linear_reg.predict(np.array([[1,2]])))
# [0.7]
其他回归模型包括Ridge回归和Lasso回归可直接使用scipy的模型
from sklearn.linear_model import Ridge
from sklearn.linear_model import Lasso
直接进行拟合即可
scipy中还有其他的线性回归器如下图所示
如想使用编程语言对最小二乘法线性回归手动实现,可参考:《数值分析》中 线性回归:最小二乘法 章节