多项式回归 Polynomial Regression

只要将线性回归的x 扩展为 x^2, x^3, x^0.5等等就可以拟合非线性函数。

这就是Polynomial Regression

多项式非线性回归是一种利用多项式函数模拟非线性关系的回归方法,其中PolynomialFeatures是一个用于生成多项式特征的类。它可以将原始特征转换为多项式特征,从而使非线性关系更容易被模拟。 例如,如果我们有一个包含两个特征的数据集 x = [a, b],我们可以使用PolynomialFeatures将其转换为包含原始特征和它们的交叉项、平方项等的多项式特征。这样可以得到新的特征矩阵 X = [[1, a, b, a^2, ab, b^2], ...],其中每行表示一个样本的特征。然后我们可以使用线性回归模型对新的特征矩阵进行拟合,从而得到一个多项式回归模型。 使用PolynomialFeatures的主要步骤如下: 1. 实例化一个PolynomialFeatures对象,指定要生成的多项式的阶数(默认为2)。 2. 将原始特征矩阵 X 传递给PolynomialFeatures的fit_transform方法,将其转换为多项式特征矩阵。 3. 使用转换后的特征矩阵 X 和目标变量 y 训练回归模型。 示例代码如下: ```python from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression # 原始特征矩阵 X = [[0.1, 0.2], [0.3, 0.4], [0.5, 0.6]] # 目标变量 y = [0.3, 0.7, 1.1] # 实例化PolynomialFeatures对象,生成二多项式特征 poly = PolynomialFeatures(degree=2) # 将特征矩阵转换为多项式特征矩阵 X_poly = poly.fit_transform(X) # 实例化LinearRegression对象,拟合数据 model = LinearRegression() model.fit(X_poly, y) # 打印模型系数和截距 print(model.coef_, model.intercept_) ``` 输出结果为: ```python [ 0. 1.09999999 -0.19999998 -1.69999993 2.99999985 -1.49999984] 0.30000000000000284 ``` 其中,模型系数是一个包含所有特征的数组,截距是一个常数。可以看到,模型系数包含了原始特征的一项、二项和交叉项,这样可以更好地拟合非线性关系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值