阅读量:0
要实现多元非线性回归,可以使用scikit-learn库中的PolynomialFeatures类来进行特征转换,然后使用线性回归模型进行拟合。
下面是一个示例代码,演示了如何使用多元非线性回归模型拟合一个二次函数的数据:
import numpy as np from sklearn.linear_model import LinearRegression from sklearn.preprocessing import PolynomialFeatures # 生成样本数据 X = np.array([1, 2, 3, 4, 5]).reshape((-1, 1)) y = np.array([3, 6, 9, 16, 25]) # 创建多项式特征转换器 poly = PolynomialFeatures(degree=2) X_poly = poly.fit_transform(X) # 创建线性回归模型 model = LinearRegression() # 拟合数据 model.fit(X_poly, y) # 预测结果 X_test = np.array([6]).reshape((-1, 1)) X_test_poly = poly.transform(X_test) y_pred = model.predict(X_test_poly) print("预测结果:", y_pred)
在上述代码中,首先使用PolynomialFeatures类将输入特征X转换为多项式特征X_poly。然后,使用LinearRegression类创建线性回归模型,并使用拟合方法fit来拟合数据。最后,使用transform方法将测试数据X_test转换为多项式特征X_test_poly,并使用predict方法预测结果。
请根据自己的数据调整多项式特征的阶数(degree),以及其他超参数,以获得最佳的拟合效果。