一、岭回归
代码示例:
import numpy as np
import matplotlib.pyplot as plt
#生产随机数据100个——范围在(-3,3)
x = np.random.uniform(-3,3,size=100)
X = x.reshape(-1,1)
y = 0.5 *x + 3 + np.random.normal(0,1,size=100)
from sklearn.linear_model import Ridge
#管道
def RidgeRegression(degree,alpha):
return Pipeline([
("ploy",PolynomialFeatures(degree = degree)),
("std_scaler",StandardScaler()),
("lin_reg",Ridge(alpha=alpha))
])
ridge1_reg = RidgeRegression(20,30)
ridge1_reg.fit(X_train,y_train)
y1_predict = ridge1_reg.predict(X_test)
mean_squared_error(y_test,y1_predict)
二、LASSO回归
代码示例:
from sklearn.linear_model import Lasso
#管道
def LassoRegression(degree,alpha):
return Pipeline([
("ploy",PolynomialFeatures(degree = degree)),
("std_scaler",StandardScaler()),
("lin_reg",Lasso(alpha=alpha))
])
lasso1_reg = RidgeRegression(20,0.01)
lasso1_reg.fit(X_train,y_train)
y2_predict = lasso1_reg.predict(X_test)
mean_squared_error(y_test,y2_predict)
三、总结
岭回归和LASSO回归用来衡量模型正则好坏,MSE和MAE用于衡量回归结果好坏,欧拉距离和曼哈顿距离用于衡量两点之间距离大小。