見出し画像

前処理の勉強方法のオススメ

前処理ということですが、機械学習の特徴量エンジニアリングの学習方法ということで答えたいと思います。

私に質問をしてきて、kaggleもtitanicをやったくらいということは、前処理を勉強してこれからkaggleのコンペに挑戦していきたいということですよね。

そうであれば、開催中のコンペのKernelや、過去のコンペのKernelで前処理を学んでしまいましょう!

1つのコンペのKernelを3つぐらい読むとどのKernelでも共通してやっている処理があるかと思います。
それが、そのコンペでのベースとなる処理のようなもので、どうしてその処理が行われるのか考えると良いと思います。

オススメは開催中のコンペに参加しつつ学ぶことですが、開催中のコンペはつらいという方のために、過去のコンペでのオススメのKernelをあげてみたいと思います。

過去のコンペでのオススメのKernel

これは、HomeCreditコンペで多くのKernelのベースとなっていたKernelだと記憶しています。HomeCreditコンペについては、<実践>はじめてのKaggle体験記を読むと概要が掴めると思います。


これはEloコンペで私も参考にさせてもらったKernelです。
多くの特徴量エンジニアリングを学ぶことができると思います。
Eloコンペについては、kaggle:Elo Merchant Category Recommendationコンペのまとめなどを読むと概要がつかめると思います。


オライリーの機械学習のための特徴量エンジニアリング

この本は、必要なことが、200ページぐらいというこの手の本にしては少ないページ数でまとまっているとても良い本で、Kaggleに挑戦するにあたっても、とても役立つと思います。

ただ、弱点としては、特徴量エンジニアリングについては、まとまっているのですが、その手法をどういう場合に使うと効果的でどういう時に不要かということが書いていません。
(例えば、スケーリング(大きさを揃えること)は、決定木系の手法には不要ということが書いていないという趣旨です)

そのため、Kaggleで実際に使われている特徴量エンジニアリングを見ながら、どういう時に使える特徴量エンジニアリング手法なのかを意識しながらこの本を読み進めると良いと思います。

内容に踏み込んでいませんが、この本についてyoutubeでレビュー動画を公開していますのでよろしければ、視聴ください。


関連ページ

追記(前処理について)

こういう記事がありました。

この記事にあるように、実際に自分で何かやろうとしたら、これぐらいの内容はちゃんと理解していないとというところなんでしょうね。

とりあえず、Kernelで慣れつつ、ちゃんと学ぶ必要があったら、こういう内容をしっかりとした本で学ぶ必要があると思います。

追記2 機械学習のための「前処理」入門

機械学習のための「前処理」入門という本が発売されました。

読んでみたところ、上で記載した「機械学習のための特徴量エンジニアリング」よりも平易に書かれており、タイタニックを終えた方が、次に学ぶ際にとても良い本だと思います。

広く浅い本なので、これを読んでおけば大丈夫ということはありませんが、コード付きで、特徴量エンジニアリング手法を広く浅く説明されており、Kernelで学んでいくよりも、とっつきやすいと思います。



コメントお待ちしています。匿名の質問はマシュマロから→https://marshmallow-qa.com/currypurin