こだわりがなければ多項式回帰してしまえばよいのでは? その場合はこんな感じで。
python
1from sklearn.linear_model import LinearRegression
2from sklearn.preprocessing import StandardScaler, PolynomialFeatures
3from sklearn.pipeline import Pipeline
4
5model = Pipeline([
6 ("scaler", StandardScaler()),
7 ("poly", PolynomialFeatures(degree=5)),
8 ("linear", LinearRegression())
9])
10
11# あとはmodel.fit(X_train, y_train)してmodel.predict(X_test)で予測できます
正則化にこだわりたいといった要求があればLinearRegression()
の部分を正則化対応のモデルに置き換えれば良いです。
5次多項式くらいで大抵のものは行けると思いますが、Support Vector RegressionとかRandom Forest Regressionの方が性能が稼ぎやすいということはあるかもしれません。ただし、多項式回帰と違ってわかりやすいモデルは推定できません(データの性質にあまり仮定を置かないで予測できるのが機械学習系の手法です)。その辺は目的に合わせて検討してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。