見出し画像

5分で分かる書評「Kaggleで勝つデータ分析の技術」

どーも、消費財メーカーでデータ分析をやっているウマたん(https://twitter.com/statistics1012)です。

個人活動として、スタビジというサイトYoutubeチャンネルでデータサイエンスやビジネスについての発信をしています。

この記事では「Kaggleで勝つデータ分析の技術」について紹介していきます!

データの前処理、特徴量作成、モデリング、評価などを学ぶのに非常にオススメな書籍なんです。

Kaggleというのは世界的に有名なデータ分析コンペで世界中のデータ分析の猛者が日々しのぎをけずっています。

コンペとはいっても参加するのには複雑な手続きなどはいらず誰でも簡単に参加できるので、初心者の方がデータ分析のスキルを身に着けていくのにうってつけの場です。

そんなKaggleには称号というものがあり、コンペで優秀な成績をおさめると一定の基準でグランドマスターやマスターなどの称号が与えられます。

それらの称号を得ている人たちが共著で執筆したのが、この「Kaggleで勝つデータ分析の技術」なんです。

ただ注意しておいて欲しいのがこの書籍はあくまでKaggleコンペでのデータ分析に特化しているということ。

コンペではある程度整形されたデータが提供され、分析課題も決まっています。

実務のデータ分析では、そもそも課題の洗い出しからデータ分析に値する課題設定と目的の明確化、そしてデータ取得、現場への導入など前処理・モデリング・モデル評価以外の工程もたくさんあるんです。

そこをしっかり理解した上で読みましょう!

この書籍の章立ては以下のようになっています。

第1章:分析コンペとは
第2章:タスクと評価指標
第3章:特徴量の作成
第4章:モデルの作成
第5章:モデルの評価
第6章:モデルのチューニング
第7章:アンサンブル

それぞれについて詳しく見ていきましょう!

以下の動画でも詳しく解説しています!

第1章:分析コンペとは

まず第1章では、分析コンペについて基本的な内容を紹介しています。

Kaggleの基本的な情報からKaggleにおいて上位を狙うための方法やAPIの使い方、計算リソースについても述べられているのでKaggleに参加したことのある人でも目を通しておくと勉強になります。

第2章:タスクと評価指標

続いて第2章では、コンペで登場するタスクや評価指標などについて学べます。

Kaggleでは非常に多くのコンペが開催されます。

もちろんコンペによって、

・回帰タスクなのか分類タスクなのか
・どんなデータがどのような形で提供されるのか
・最終評価はどのような指標によって行われるのか

は異なります。

実務においてもどのような評価指標を用いるのかは非常に大事なのでコンペの例を参考にして分析課題に対して適切な評価指標を設定できるようになりましょう!

第3章:特徴量の作成

続いて第3章の特徴量の作成。

この書籍で最もボリュームが多く、かつ非常に有用なのがこの第3章です。第3章だけで100ページあります。

モデルを作成する部分が注目されがちですが、精度を大きく左右するのはモデル作成の前処理であることが多いです。

ここでは、欠損値処理や変数を変換する方法、特徴量を組み合わせたり集約して新たな特徴量を作成する方法、時系列データをどのように扱うか、など現実データにも応用できる内容が詳しく学べます。

この章だけでも読む価値ありです。

実際のコンペでどのように適切な特徴量を作成していったか具体的な例を基に述べられているので非常に参考になります。

現実のデータ分析課題においても特徴量作成が重要であることは言わずもがなですが、現実ではデータ取得から設計しなくてはいけない可能性もあります。

現実では、そもそも取得出来ていないデータが分析課題においてクリティカルに効くと考えられる時、そのデータを新たに取得するか、外部リソースから取得するかなど検討しなくてはいけません。

特徴量作成に関しては以下の記事で紹介しているので参考にしてみてください!

第4章:モデルの作成

続いてモデルの作成。

Kaggleでよく用いられる勾配ブースティング木やニューラルネットワークについて詳しく解説されており、その他の手法についても簡単に解説されています。

この書籍でも書かれている通り、XGBoostやLightGBMをはじめとする勾配ブースティング木は非常に優秀で扱いやすく安定して高い精度を出力します。

そのためまずは勾配ブースティング木を使って問題ないでしょう。

実務でのモデル構築においても同様で勾配ブースティング木をとりあえず使用するケースが多いです。

第5章:モデルの評価

続いてモデルの評価。

モデルを正しく評価するためにはバリデーションという工程が必要になってきます。

学習データにのみ過剰にフィッティングして予測データを上手く予測できないことを過学習と言いますが、その過学習を防ぐために重要なのがバリデーションなのです。

バリデーションのフェーズでは学習データと検証データにデータを分けて、学習データによりモデルを構築して検証データで精度を検証します。

バリデーションの方法はいくつかありますので詳しく知りたい方は交差検証法に関する記事をチェックしてみてください!

第6章:モデルのチューニング

続いてモデルのチューニング

パラメータのチューニングや、特徴量選択、そしてオーバーサンプリングなどのサンプル調整方法について解説されています。

この書籍で述べられている通りパラメータチューニングは大幅な精度向上はそれほど見込めないので、最後のひと押しに細かくチューニングする方がよいです。

それよりも第3章で解説されている特徴量作成の部分にまずは注力しましょう!

ただそこで無駄な特徴量を大量にインプットしてしまうと精度面と計算負荷の面で問題が生じる可能性があります。

不必要な特徴量を削除する特徴量選択は一つの手段として持っておきましょう!

また分類タスクにおいて正例データと負例データの数にあまりにも大きなギャップが生まれてしまっている場合は適切なモデルが作成できない可能性が高いので注意が必要です。

このような問題を不均衡問題といい、それらを解消するためにオーバーサンプリングなどの手法が取られます。

詳しく知りたい方は以下の記事を参考にしてみてください!

第7章:アンサンブル

最後にアンサンブルについて見ていきましょう!

アンサンブルとは、簡単に言うと複数のモデルを組み合わせて最終的な結果をアウトプットする方法です。

ちなみに勾配ブースティング木自体も決定木をブースティングというアンサンブル手法によってアンサンブルしているのですが、Kaggleでは勾配ブースティング木と他の手法を組み合わせることもあります。

アンサンブルすることにより精度の向上を目指しますが、その分複雑になり計算負荷も大きくなります。

Kaggleでは少しの精度の差を競うので最終的なアンサンブルが勝敗を分けますが、実務ではここまでして少しの精度の差を求めることは少ないということは覚えておきましょう!

少しの精度向上を求めることで計算負荷が大きくなり運用フローに影響してしまったのでは本末転倒ですし、精度向上によるリターンが工数に見合わないことが多いんです。

実務でのデータ分析と照らし合わせながら勉強を進めてください。

まとめ

ここまででKaggleで勝つデータ分析の技術について紹介してきました!

Kaggleのグランドマスター・マスターが執筆している書籍だけあって、特徴量エンジニアリングやモデリングの部分の細かい内容が非常に勉強になります。

データ分析に関わる多くの人に是非読んで欲しい書籍です。

ただ何度もお伝えしている通り、実務でのデータ分析ではここで取り上げているデータ前処理・モデリング・評価以外の工程も非常に重要ですので、そこを意識しながら読んでください!

実務におけるデータ分析のステップについては以下の記事で解説しているのでそちらも参考にしてみてくださいね!

またKaggleについては以下の記事でまとめています!

以上、ウマたん(https://twitter.com/statistics1012)でした!

スタビジというサイトYoutubeチャンネルでデータサイエンスについての発信をしていますので、こちらもよろしくお願いします!

それではまた今度!
Let's statistics×bussiness「スタビジ」!



この記事が気に入ったらサポートをしてみませんか?