組み込み開発のためのPython · レッスン 132 / 220

多項式回帰で曲線を近似する

多項式特徴量を線形回帰へ渡すと曲線を近似できます。次数を上げすぎると過学習や数値不安定性が起きるため、検証データで比較します。

多項式特徴量を線形回帰へ渡すと曲線を近似できます。次数を上げすぎると過学習や数値不安定性が起きるため、検証データで比較します。 仕組みだけでなく、検証方法と運用上の注意も具体例で確認します。

基本の考え方

多項式特徴量を線形回帰へ渡すと曲線を近似できます。次数を上げすぎると過学習や数値不安定性が起きるため、検証データで比較します。

安全に試すための確認

例は学習用データを使うもので、品質を保証する予測器ではありません。実データの欠損、単位、偏り、データ漏えいを確認し、テスト用データを学習中に参照しないでください。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression

model = make_pipeline(PolynomialFeatures(2), LinearRegression()).fit([[0], [1], [2]], [1, 2, 5])
print(model.predict([[1.5]]))

手を動かす課題

次数1と次数2のモデルを別の検証点で比較し、学習点への適合だけで選ばないようにしてください。

参考資料

「機械学習の基礎」の章一覧へ