Pythonの多変量非線形回帰の実装方法
多変量非線形回帰を行うには、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)やその他ハイパーパラメーターを調整し、最適なフィッティングを得てください。