Example01:利用PolynomialFeatures解决过拟合问题
-
线性回归模型实在是太简单了,非常容易导致欠拟合,根据前文中解决欠拟合的手段一共有两个:
- 增加物理特征,如房屋的地段,房屋的朝向等
- 增加无意义的数学变量。使用
sklearn.preprocessing.PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import PolynomialFeatures
from sklearn.pipeline import Pipeline
def polynomial_model(degree=1):
polynomial_features = PolynomialFeatures(degree=degree,
include_bias=False)
linear_regression = LinearRegression(normalize=True)
pipeline = Pipeline([("polynomial_features", polynomial_features),
("linear_regression", linear_regression)])
return pipeline注:若是Pipeline中的若自己编写的函数,则默认调用的是
.fit_transform
方法,而最后的结点则必须要用.fit()
实现。 -
使用
mean_squared_error
计算均方根误差from sklearn.metrics import mean_squared_error
Eample02:房价预测
from sklearn import datasets |