書籍「Kaggleで磨く 機械学習の実践力」は実務×コンペの最強タッグ!
データサイエンティストの分析力とは?
データサイエンティストという職業が一般的になり、活躍の場や目指す人も増えている。もっとも重要な能力といえば分析力だが、具体的にはどんな技能だろうか。本書ではKaggleというデータ分析コンペにおいて精度を向上させるノウハウから、実務でも活躍できる分析力を身につけるというアプローチを取っている。作者は日立製作所のITエンジニアであり、2012年のデータ分析部署の設立をきっかけとして、10年の業務と6年のコンペ経験(Kaggle・SIGNATEなど)で学んだ知見を本書で紹介している。さらにKaggleにおいては「KaggleMaster」の実績を保有しており、これはKaggle登録者の上位1.1%にランクインする実力者である(補足:獲得したメダルは金1個・銀6個・銅3個)。このような実務とコンペの両方で実績のある作者における分析力を1冊の本になっているのは、分析力を高めたい人にとって大いに役立つだろう。
対象読者と本書の活用法
本書の対象読者だが、データ分析の初級者やデータサイエンティストを目指す学生や社会人エンジニアが当てはまる。作者のスキルは高いが、敷居は低くとっつきやすい内容になっているので安心してほしい。Pythonによる基本的なプログラミングと、中学生レベルの数学を理解していれば問題ない。
1からデータ分析の流れや面白さ、Kaggleの登録から学べるので、これからKaggleを初めたい人にとっては最初の1冊としてもオススメできる。また、Kaggleで成績が伸び悩む人における攻略本でもあり、実務でデータ分析に取り組む人にもKaggleから学べる点は多い。それぞれの立場に合わせて、本書を活用してほしい。
各章の解説
本書は9章構成となっており、次項から各章の概要を紹介していく。また、本書で紹介れているサンプルコードはダウンロードできるため、簡単にお試し出来る。補足事項があればフォローアップ用の資料も提供される予定なので、読者へのサポートも手厚い点も嬉しい。
第I部 分析実務とKaggle
第1章:実務に必要なスキルとは
お馴染みデータサイエンティスト協会による必要なスキルの図にはじまり、データサイエンティストの職務や分析力の重要性について解説している。特に実務によるスキルアップの限界とKaggleの活用は本書のキーとなるので、しっかり把握しておきたい。
第2章:Kaggleの概要
初心者向けという点もあり、「Kaggleとはなにか?」という概要から運営の仕組み、アカウント登録やメダルの取得条件など丁寧に解説されている。また、ホーム画面や各種機能の紹介などもあるので、1から始める人にも安心な内容となっている。こうした解説はネット記事にもあるが、情報に偏りや不備があるなど信頼性にかける面もある。豊富な経験のある著者による解説も魅力だ。
第3章:Kaggleを学習ツールに
ここまでKaggleを始める準備までは解説しているが、いざ始めるには目的やゴールの設定が重要になる。ここで進むべき道が見つからずに戸惑うのは初心者にありがちだが、本書では学習目的の設定やコンペの選択コツなどを解説している。続いて分析環境としてGoogle ColabやKaggleのNotebookの利用方法も学べる。そして周囲にデータ分析について相談できる相手がいなくても、ディスカッションやチーム参加が活発である。こうしたコミュニケーションの楽しさも作者独自の体験から語られており、データ分析コンペに対する熱量が伝わってくるだろう。
第II部 機械学習の進め方
第4章:ベースライン作成
ここからデータ分析の流れやノウハウについて、本格的に解説されている。まずはベースラインと呼ばれる分析における骨格を作り、トライアンドエラーを繰り返すことが重要になる。コンペで上位に食い込む人は少ない手間で有効な手法を見つけると思われがちだが、実際には数多くの試行錯誤が繰り返されている。本書ではKaggleでおなじみの タイタニックコンペ(船の沈没における生存者の特徴を探る)を元に分析方法を掘り下げている。データを読み込んで中身を丁寧に確認しながら、過学習(オーバーフィッティング)や検証データの分割などに注意しながら分析の信頼性を上げていく。ホールドアウト検証や交差検証(クロスバリデーション)、モデル推論について解説されている。実際のコンペではベースライン作成が共有されているが、「分析力をつけるなら自力でやってみるべき」というのが作者の考え方でもある。
第5章:特徴量エンジニアリング
前述のベースラインを元に、モデルの学習や修正を試行錯誤しながら改良していく。さらにデータの前処理(データクレンジング)を行うライブラリであるPandasを紹介して、欠損値が外れ値の処理、標準化や正規化など解説されている。本書のメインである説明変数を作成する特徴量生成については、様々な解説が掘り下げられている。都度サンプルスクリプトやコンペのデータを参照しながら、順番に試していこう。また、テーブルデータだけでなくテキストデータの特徴量生成についても言及されている。特徴量は多ければ精度が上がるわけではないので、有効な特徴量を選択するラッパー法についても言及されている。
第6章:モデルチューニング
LightGBM(決定木の勾配ブースティングのフレームワーク)をべースとして、ハイパーパラメーターの手動・自動チューニングを解説している。LightGBM以外にも、scikit-learnやニューラルネットワークにおける解説もある。さらに複数のモデルを組み合わせるアンサンブルについても、単純平均、重み付き平均、スタッキングなど紹介している。ここまで一通りデータ分析における手法や精度向上について説明して、次の第III部で実践に進んでいく。
第III部 実践例
2値分類のコンペ
実際に行われたコンペである住宅ローンの貸出リスクにおいて、どのように分析するかをこれまでの解説を振り返りながら紹介していく。コンペの概要から提供されるデータの確認など、分析手順を1つずつ進めていくのでこれまでの学んだ内容を復習しながら実践できる章となっている。内容としてはデータの前処理。データセットの作成、バリデーションの設定という流れでベースラインを完成させて、特徴量エンジニアリングや説明変数を行ってモデルの評価値を算出する形となる。最後に特徴量エンジニアリングを行い、処理にかかる時間も注意しながらコンペ終了まで体験できる。ここでも各手順毎にスクリプトを実行して、手を動かしながら学んでいこう。
8章:回帰問題のコンペ
引き続き過去に開催された回帰問題のコンペとして、アメリカのプロ野球選手におけるデジタルエンゲージメント(SNSなどにおける選手の人気)について実践していく。分析の流れ自体は7章と同じだが、推論結果ファイルではなく、推論値を導き出すコード(スクリプト)を提出するコンペとなるので、違いや注意点なども解説されている。データ分析コンペを元に実践する7章と8章は合計で138ページ割かれており、ボリュームと作者の熱意が伺える。ここまでやり込めば、無事にkaggle初心者を脱却できるだろう。
9章:データサイエンティストの未来
最後の締めとして、作者によるデータサイエンティストの将来性やコンペの魅力について語られている。あくまで本書は技術書であるので、主観による内容となる本章は4ページと短くまとめられているのも好感できる。
本書の意義
本書は360ページというボリュームを誇り、初心者向けにKaggleの始め方などを説明しつつも、大半は分析の解説やコンペのノウハウに費やされている。データサイエンティストという職業の需要が高まる中で、学生やエンジニアにとってKaggleを通してデータ分析の流れを1から丁寧に学べる本書が果たす役割は大きい。昨今においてはITに関する情報をネットで調べると、プログラミングスクールや転職支援会社の勧誘や、アフィリエイトや情報商材の購入の導線を目的として正確性に欠ける記事が氾濫している。ネット上で手に入る情報は無料で手軽だが、こうした記事を参考にしてもデータ分析力が身につくかは疑問である。対して本書の作者は、章の合間にあるコラムやあとがきで溢れんばかりのデータ分析とKaggleへの魅力を語っているほどだ。長年に渡るデータ分析業務のノウハウと、分析力向上のために取り組んだKaggleの経験という著者の知見が詰まった本書は、データサイエンティストを目指す諸氏において大いに役に立つ1冊になるだろう。
購入はこちらから(アフィリエイトはありません)。
電子書籍版も配信中です。
記事が気に入ったら、Twitter(X)のアカウントもフォローしてください! https://twitter.com/maskedanl