データ分析コンペ「Kaggle」でスキル習得! 初心者がPythonで挑戦できる入門書|翔泳社の本

データ分析コンペ「Kaggle」でスキル習得! 初心者がPythonで挑戦できる入門書

2020/10/29 07:00

 10万人以上のデータサイエンティストが参加するデータ分析コンペの「Kaggle」。データ分析の初学者にはやや敷居が高いように思われますが、チュートリアル用のコンペも用意されており、実力を問わず挑戦できるのが魅力です。CodeZineを運営する翔泳社では、データ分析やKaggleに興味がある方のために、参加方法からデータ分析の手法まで解説している入門書『Pythonで動かして学ぶ!Kaggleデータ分析入門』を発売中。今回は本書から、著者の篠田裕之さんがデータ分析の力とKaggleの魅力を語ったプロローグを紹介します。

本記事は『Pythonで動かして学ぶ!Kaggleデータ分析入門』の「PROLOGUE Kaggleで実践的なスキルを体験しよう!」を抜粋したものです。掲載にあたり一部を編集しています。

データ/データ分析から見えてくること

既読スルーの原因

 突然ですが、読者のみなさんは既読スルーされたことはありますか。筆者はあります。コミュニケーションツールで相手に連絡し既読になったものの、返信がこない、これを通称「既読スルー」と言います。

 果たして何が問題だったのでしょうか。これまでの自分のやりとりを振り返ってみることにします。

 そもそも相手に嫌われていたのでしょうか。送り相手ごとに既読スルー率を集計してみると、人によって差があることがわかりました。ただし、どうも同じ相手でも場合によって既読スルー率が異なるようです。別の要因もありそうです。タイミングが悪かったのでしょうか。それとも話題でしょうか。

 時間帯ごとに集計すると、夜間は既読スルー率が高いものの深夜帯になるとむしろ返信率が高いようです。また、特定の相手への飲みのお誘いは既読スルーされづらいようです。しかし深夜帯はそもそも送った数自体が少なく特定の仲のよい人としかやりとりしていないため、返信率を過度に高く見積もっている可能性があります。

 加えて、特定の相手とは、やりとりの数自体が少なくあまり参考にならないことに気づきました。他にも、リンクや画像送付と文字の違い、文字数、絵文字、スタンプの使用回数など、様々な理由がありそうです。要素が複雑に絡んでくると単純な集計では、明確な理由や返信率が高いルールがわかりそうにありません。

 そこで機械学習の出番です。機械学習で筆者のチャットデータを解析すると「木曜日に佐々木くんに22時に飲みのお誘いをすると90%既読スルーされない」といったようなことがわかります。

 上記の話は一般論ではなく、あくまで筆者個人の例です。以前、筆者の個人サイトに掲載した「LINEの既読スルーにランダムフォレストで立ち向かう。」という記事の内容がもとになっています。

データ/データ分析って何?

 さて、読者のみなさんはデータ/データ分析と聞いてどのようなことを思い浮かべますか。

 現在私たちは生活する中で、日々のウェブ閲覧、検索、商品の購買、そして冒頭の既読スルーの例のようなコミュニケーション履歴など、様々なデータを生成しています。また天気情報、交通情報、エネルギー消費など多種多様な環境データが各種センサで計測されています。また近年特にコンピュータ、センサの発展により、データ化コストおよびデータの蓄積コストは年々安価になっております。

 読者のみなさんがどのような分野で活躍されているとしても、業務に深く影響する様々なことがデータとして蓄積されていく、あるいはすでに蓄積されている状態になっているのではないでしょうか。もしそうであれば、データを活用することでさらにその業務の可能性や面白さは増すかもしれません。

 一方、すでに業務でデータを扱っている方もいらっしゃると思います。「単純な集計ならやっている」。確かにそれで十分なことも多くあります。しかし冒頭の例のように、単純な集計では見落としてしまう事実や複雑なルールがあるかもしれません。場合によっては「深夜のチャットは返信率が高い」といった誤った結果を示してしまうこともあります。様々なデータ分析を知り、状況に応じて適切な手法を選択することが、正確にデータを把握し精度の高い予測をすることにつながります。

「データですべてがわかるわけではない」。その通りです。冒頭の例で言うと、既読スルーの要因はデータには表れていないチャット以前の相手との関係や筆者の人間性に問題があるかもしれません。だからこそ、データ分析では扱っているデータの範囲を意識することが重要です。

 データの範囲とは、データの取得手段、取得期間、取得状況、取得対象などのことを意味し、「データ分析からどのようなことは導き出せて、どのようなことは範囲外か」ということです。つまりデータ分析は目的、およびその目的の達成度を図る指標・評価が重要です。そして目的や指標が明確であれば、データ分析は大きな力を発揮します。

 では、そのようなデータ分析のスキルを習得するにはどのようにしたらよいでしょうか。学生で研究で扱うデータが限られている方や、社会人でも自らが分析業務をしておらず、社内外のデータサイエンティストを活用している方にとっては、手元にデータがなかったり機械学習などを用いたデータ分析をする機会がなく、「昔、データ分析に関する書籍を読んで勉強したものの忘れてしまった」「途中で挫折してしまった」「正しく分析できているか確かめる手段がない」ということがあるかと思います。

 そこで本書はこれからデータ分析を学ぼうと思っている方々に対し、Kaggle(カグル)(図0.1)を通して、実践的なスキルを紹介します。

図0.1:Kaggle
図0.1:Kaggle

Kaggleは世界で利用されているデータ分析コンペプラットフォーム

 Kaggleは世界中のデータサイエンティストが、様々な課題について予測精度などを競い合う、データ分析を行うコンペティション(以下コンペ)のプラットフォームです。

 2010年に米国でスタートし、2017年にはGoogleが買収しAlphabet傘下となりました。本書執筆時点で(2020年5月時点)、登録者数ベースで10万人以上のデータサイエンティストが参加しており、10以上のアクティブなコンペが開催されています。

 Kaggleでは、売上予測や貸し倒れリスクの予測など、現実問題に近い様々な課題が実際の企業から出題されます(図0.2)。日本企業では過去、リクルートやメルカリがKaggleコンペ(図0.3)を開催しました。もちろん企業以外の主催もあります。

図0.2:Kaggle のコンペの一覧(上)とKaggle のコンペの例(下)
図0.2:Kaggleのコンペの一覧(上)とKaggleのコンペの例(下)
図0.3:メルカリのKaggleコンペ
図0.3:メルカリのKaggleコンペ

 実際のデータ・課題に対して、様々なデータサイエンティストがオンライン上で意見をかわしながらその結果が即時に採点され競い合うことができ(図0.4)、自身のデータ分析力を測り高めるための理想的な環境があります。本書ではKaggleの初心者向けチュートリアルコンペを通してデータ分析の手法や視点を具体的なPythonコードとともに解説していきます。

図0.4:Kaggle のDiscussion
図0.4:Kaggle のDiscussion

本書の活用の仕方

 本書はデータ分析初学者の方がKaggleで上位を目指していくことはもちろん、今後、実際の仕事に使えるデータ分析スキルを習得することを目指します。

 本書の執筆に際して、社内外のKaggle Master(Kaggleでの上位成績者)を含む様々なデータサイエンティストの方々に助言をいただきました。特に第5章や付録ではKaggle Masterの方にKaggleメダル獲得のための具体的なTipsなどについてお話していただいた内容を載せています。

 また、各章ではKaggleの初心者向けチュートリアルコンペを取り上げつつ、各コンペで精度の高いモデルの構築を目指すとともに、同じデータを用いて別の観点からデータを深掘りしていき、ビジネスの現場でよく使う手法や分析視点をまとめております。

 プログラミング・データ分析や機械学習が、1人でも多くの読者の方にとって手に馴染む道具として身につき、Kaggleに夢中になる日々を過ごしつつ、実際の業務を変革していただければ、筆者としては大変嬉しい限りです。そして、もしKaggleで優秀な成績を納めKaggle Masterになった際は(あるいはすでに上位Kagglerであれば)、筆者にKaggleのコツをこっそり教えてください。

 それでは、一緒にKaggleの世界をのぞいてみましょう。

Pythonで動かして学ぶ!Kaggleデータ分析入門

Amazon SEshop その他


Pythonで動かして学ぶ!Kaggleデータ分析入門

著者:篠田裕之
発売日:2020年10月22日(木)
定価:2,600円+税

本書について

本書はこれからデータ分析をはじめたいと思っている方や、Kaggleに興味のあるデータ分析の初心者に向けて、Pythonの実際のコードとともに丁寧に解説した書籍です。