機械学習

回帰直線の算出や標準化にscikit-learnを使ってみた

このブログの以下の記事で、最小2乗法と最急降下法を用いて回帰直線を求めている。

最小2乗法と最急降下法を用いて回帰直線を求めてみた 以下のように、入力データ\(x\),\(y\)の値が与えられた場合を考える。 このときの、各点との距離が最小になるような\...

また、以下の記事で、データの標準化を行っている。

回帰直線を求める際にデータを標準化してみた このブログの以下の記事で、最小2乗法と最急降下法を用いて回帰直線を求めている。 https://www.purin-it.co...

これらの記事の実装は、Python で利用できるデータ分析や機械学習のためのライブラリの一つであるscikit-learnを用いて行うこともできる。

今回は、scikit-learnのLinearRegressionクラスを用いた回帰直線の算出と、scikit-learnのStandardScalerクラスを用いたデータ標準化を行ってみたので、そのサンプルプログラムを共有する。

scikit-learnのLinearRegressionクラスを用いて回帰直線を算出した結果は、以下の通り。

LinearRegressionクラスによる回帰直線の算出

また、scikit-learnのStandardScalerクラスを用いたデータ標準化/戻しを行った結果は、以下の通り。

StandardScalerクラスによるデータ標準化/戻し

さらに、scikit-learnのLinearRegressionクラスとStandardScalerクラスを組み合わせた結果は、以下の通り。

LinearRegressionクラスとStandardScalerクラスの併用

なお、正規化を行うscikit-learnのライブラリは、以下のサイトに記載のMinMaxScalerクラスとなる。
https://qiita.com/Qiitaman/items/c94420e8b86aae5f28a9

要点まとめ

  • Python で利用できるデータ分析や機械学習のためのライブラリの一つとして、scikit-learnがある。
  • 回帰直線の算出はscikit-learnのLinearRegressionクラスを、データの標準化はscikit-learnのStandardScalerクラスを、それぞれ利用して実施できる。