機械学習について学びたいと思い、手始めにAWSの10分チュートリアルを参照しながら機械学習モデルをコーディングしてみました。
<<参考>>Amazon SageMaker を使用して機械学習モデルを構築、トレーニング、デプロイ
このチュートリアルに沿ってPythonコードを書くと銀行の顧客データからその顧客が新規商品の契約をしてくれるかどうかを予測する機械学習モデルを簡単に作成できます。
ただ、チュートリアルに沿うだけだと一体何をしているのか分かりづらいので、自分なりにこのコードがしていることをまとめてみましたので参考にしていただければと思います。
#具体的にやっていること
まず最初にAWS環境にSageMaker環境を構築、その上でjupyter notebookをインストールするという準備が必要になります。
SageMaker:AWSで利用できる機械学習環境
Jupyter notebook:pythonをブラウザ上でコーディングしながらインタラクティブに実行できる環境を提供
##①顧客サンプルデータをpandasデータに変換する
無償で提供されている顧客サンプルデータ(CSV)をS3にダウンロードした上で、pandasライブラリを使って加工しやすいデータに変換します。
pandas:機械学習用にデータを扱いやすくするライブラリ
##②③データを学習用データとテスト用データに分離
機械学習のためには学習用データが必要になります。
また、学習完了後、実際に学習できているかを確認するためのテストデータも必要になります。
そのため、①で取り込んだデータをnumpyライブラリを利用して、学習用データとテスト用データに分離します。
numpy:Pythonで利用できる機械学習用のデータ加工ライブラリ
##④機械学習モジュールを作成し、学習用データで学習させる
XGBoostベースの機械学習モジュールを作成し、学習用データで学習させます。
XGBoost:様々な機械学習アルゴリズムを簡単に利用できるようにしたフレームワーク
##⑤学習がうまくいったかどうかテストする
学習が完了したら、学習がうまくいったかどうかをテスト用データによって検証します。
##⑥テスト結果を検証する
実際にどれくらいの精度で学習ができていたかを成功率という形で表示させます。
#まとめ
こうしたチュートリアルは、手順に沿って作業をしてみるというだけでなく、自分なりに実際を何が行われたのかをまとめてみることで初めてみについたと言えるような気がします。これからもいくつかサンプルコーディングしながら、理解を深めつつ仕事に活かしていきたいと思います。