(一)多项式回归简介:
在上一篇的一般线性回归中,使用的假设函数是一次方程,假设数据集呈简单线性关系,但实际上,很多不是非线性的,直线方程无法很好的拟合数据的情况,这个时候可以尝试使用多项式回归方式。
多项式回归中,加入了特征的更高次方,也相当于增加了模型的自由度,用来捕获数据中非线性的变化。添加高阶项的时候,也增加了模型的复杂度。随着模型复杂度的升高,模型的容量以及拟合数据的能力增加,可以进一步降低训练误差,但导致过拟合的风险也随之增加。
(二)多项式回归实现原理:
我们以y=ax2为例。实际上就是将x2作为一个特征值。
__author__ = 'Administrator'
import sys
import numpy as np
import matplotlib.pyplot as plt
x=np.random.uniform(-3,3,size=100)
X=x.reshape(-1,1)
y=2*x**2+3*x+2+np.random.normal(0,1,size=100)
plt.scatter(X,y,c='g')
from sklearn import linear_model
linear_regressor = linear_model.LinearRegression()
linear_regressor.fit(X, y)