Slide 1

Slide 1 text

Kaggleの歩き方 -関西Kaggler会に参加してみて- ソリューション本部 Takumu Wakamatsu

Slide 2

Slide 2 text

AGENDA 自己紹介 そもそもkaggleって? Competition(コンペ)に参加してみよう! コンペだけじゃない、kaggleの魅力 関西kaggler会に参加してみて まとめ 01. 02. 03. 04. 05. 06.

Slide 3

Slide 3 text

©primeNumber Inc. 3 名前: 若松 拓夢 年齢: 大谷世代 入社時期: 2023年10月 本業: そりゅーしょん 副業:slackスタンプ職人 自己紹介 ※ミライ会議の自己紹介で誕生しました笑 コレクション ※trocco5周年のノリです笑

Slide 4

Slide 4 text

©primeNumber Inc. みなさんの中で TVゲームをする方いますか? 4

Slide 5

Slide 5 text

©primeNumber Inc. 5 TVゲームていろんな楽しみ方ありますよね!

Slide 6

Slide 6 text

©primeNumber Inc. 6 実はkaggleも 色んな楽しみ方があります!!

Slide 7

Slide 7 text

©primeNumber Inc. 7 多くの人の誤解 どうせやったところで 業務に生かすことできないんでしょ! 徹夜で高いスコア 出さないとダメなんでしょ! 分析初心者が始めるのって ハードル凄い高いんでしょ! そんなことは 全くない! コンペで 高いスコア 出すことが 目立ってる

Slide 8

Slide 8 text

©primeNumber Inc. 8 今日の発表 ● kaggleのコンペは誰でも気軽に始められます! ● コンペ以外の魅力も沢山あります! ● 関西kaggler会のようにコミュニティも充実してます!

Slide 9

Slide 9 text

kaggleってそもそも何? POINT

Slide 10

Slide 10 text

©primeNumber Inc. 10 まず呼び方ですが、Kaggleと書いて「カグル」と読みます。日本でも最近は定着してきましたが、Kaggleに参加している方を「カ グラー(Kaggler)」とも呼びます。 Kaggleですが、本サイトへ行くと一番上に書かれていますが「The Home of Data Science & Machine Learning」 (データサイエンスと機械学習の家)と題されている通り、世界中の機械学習・データサイエンスに携わっている約 40万人の 方が集まるコミニティーです。 Kaggleでは、企業や政府などの組織とデータ分析のプロであるデータサイエンティスト/機械学習エンジニアを繋げるプラット フォームとなっています。単純なマッチングではなく、Kaggleの最大の目玉とも言える「 Competetion(コンペ)」が Kaggleの特徴の一つです。 kaggleの概要 2017.11.22「Kaggleとは?機械学習初心者が知っておくべき3つの使い方」より引用 ※2023年現在の登録者は1400万人

Slide 11

Slide 11 text

©primeNumber Inc. 11 kaggleの構成要素 ● Competitions →予測した結果のスコアを競う ● Dataset →主に参加者がコンペで使ったデータが保管 ● Model →kaggle内で実行できるモデル ● Code →主に参加者が作った解析コードの保管場所 ● Discussion →コンペにまつわる議論や教え合いの場 ● Learn →主に初学者を対象とした学習コンテンツ Competitions(コンペ)が最も盛り上がってる

Slide 12

Slide 12 text

Compedition(コンペ)に参加してみよう! POINT

Slide 13

Slide 13 text

©primeNumber Inc. 13 アカウントを作ろう! ※誰でも始められます! (年齢、資格、学歴、データサイエンスの経験は不問) リンク先 https://www.kaggle.com/

Slide 14

Slide 14 text

©primeNumber Inc. 14 ● Active compeditionから現在やっ ているコンペを見つける ○ Medal(後述)有/無 ○ 賞金の有/無 ● 参加方法 ○ SOLO: 一人参加 ○ Teams: 五人まで ■ チームを組むのは一定 期間まで可能 コンペを見つけて参加してみよう! https://www.kaggle.com/competitions

Slide 15

Slide 15 text

©primeNumber Inc. 15 submit(結果の提出方法).... ● テーブルコンペ ○ csvで予測結果を提出 ○ 初心者コンペに多い ● codeコンペ ○ 解析したcodeを提出 ○ 解析処理時間(Ex: 9h) が設けられる場合も ○ 一般的になりつつある コンペのsubmit(結果提出)とレベル感 レベル感 https://atmarkit.itmedia.co.jp/ait/articles/2108/30/news033.html

Slide 16

Slide 16 text

©primeNumber Inc. 16 表形式データ 
 ● 回帰
 ○ 【Started】House Prices - Advanced Regression Techniques: 住宅価格の予測
 ● 二値分類
 ○ 【Started】Titanic - Machine Learning from Disaster: 生存有無の予測。Kaggleで最初にやってみるコンペ
 ○ 【+Featured】Home Credit Default Risk: 貸し倒れの予測
 
 ● 多クラス分類 
 ○ 【Playground】Tabular Playground Series - Jun 2021: eコマース製品のカテゴリの予測
 ● 不正検知(=二値分類。※異常検知の直近のコンテストはなかった)
 ○ 【Research】IEEE-CIS Fraud Detection: 顧客取引からの不正の検出
 ○ 
 ● 時系列(=回帰の一種)
 ○ 【Featured】Recruit Restaurant Visitor Forecasting: 未来日付におけるレストラン訪問者数の予測
 ○ 【Research】Web Traffic Time Series Forecasting: 未来におけるWikipediaページトラフィックの予測
 ● レコメンデーション 
 ○ 【Featured】Santander Product Recommendation: 来月に使用する製品の予測(=推奨)
 ○ 【Featured】Elo Merchant Category Recommendation: 顧客購買行動に対するロイヤルティ度の予測
 コンペの例: 構造化データ https://atmarkit.itmedia.co.jp/ait/articles/2108/30/news033.html

Slide 17

Slide 17 text

©primeNumber Inc. 17 画像/動画 
 ● 認識
 ○ 【Started】Digit Recognizer: MNIST多クラス分類
 ● 物体検知/追跡 
 ○ 【Started】Facial Keypoints Detection: 顔画像上のキーポイント位置の検出
 音声
 ● 認識
 ○ 【Research】Rainforest Connection Species Audio Detection: 熱帯でのサウンドスケープから鳥やカエルの種 の検出
 テキスト/言語 
 ● 分類
 ○ 【Started】Natural Language Processing with Disaster Tweets: 災害かそうでないかの識別
 ● エンティティ抽出 
 ○ 【InClass】Shopee Code League - Address Elements Extraction: テキストから住所部分の抽出
 ● 質問応答(=生成の一種)
 ○ 【Featured】Google QUEST Q&A Labeling: 質問に対する回答の生成
 ○ 
 ● テキスト変換 (=生成の一種)
 ○ 【Research】Text Normalization Challenge - English Language: 英語テキストを書き言葉から話し言葉に変換
 コンペの例: 非構造化データ https://atmarkit.itmedia.co.jp/ait/articles/2108/30/news033.html

Slide 18

Slide 18 text

©primeNumber Inc. 18 初学者でも参加しやすいよう以下コンテンツがあります! ● Discussion ● Notebook submitまでのサポート

Slide 19

Slide 19 text

©primeNumber Inc. 19 Discussion は、コンペティションの内容に関わる議論をする掲示板 Discussion では以下のような内容が投稿 ● 初心者からの質問 ● ルールに関する質問 ● 知見や手法についての議論 ● 予測精度に効く特徴量作成 ● 論文などの2次情報 Discussionについて 引用元https://www.kikagaku.co.jp/kikagaku-blog/kaggle-competition/ https://www.kaggle.com/discussions?sort=hotness

Slide 20

Slide 20 text

©primeNumber Inc. 20 Code(Notebook)とは、kaggle上で回せる Jupyter Notebookのこと 環境構築は不要 ● NewNotebookを押下すればOK コンペ中他の参加者の公開したNotebook見れる Code(Notebook)について 引用元https://www.kikagaku.co.jp/kikagaku-blog/kaggle-competition/ https://www.kaggle.com/code

Slide 21

Slide 21 text

©primeNumber Inc. 21 例えばこんな感じ....!! Optiver: Nasdaqの株価予測コンペ とりあえずsubmitまでできるシンプルモデル https://www.kaggle.com/competitions/optiver-trading-at-the-close

Slide 22

Slide 22 text

©primeNumber Inc. 22 コンペの評価方法...統計学的な指標で競う場合が多い ex) MAE(絶対平均誤差), RMSE(二乗平均平方根誤差), F1 score, Log Loss… ● 最近LLM系のコンペも出てきてるので、この限りではない コンペの開催期間... ● 2-3ヶ月かけて行われるものが一般的 ● 中には、1週間で短期間で行われるものも ○ この類のコンペだと、短期決戦でお題をどこまで理解できるかも焦点 評価方法とコンペ開催時期

Slide 23

Slide 23 text

©primeNumber Inc. 23 コンペの順位... Public Score: コンペ期間中に出る順位 (一定割合のデータのみで判断) Private Score:コンペが終わった時の順位 (全データで判断) ● Private Scoreで順位が決まります ● Publicからの順位の上がり下がりを shake up/down Public score/Private score 順位の決定

Slide 24

Slide 24 text

©primeNumber Inc. 24 上位入賞するとメダルがもらえます・・・!! メダルの獲得条件 https://atmarkit.itmedia.co.jp/ait/articles/2109/16/news019.html#l_di-01.gif

Slide 25

Slide 25 text

©primeNumber Inc. 25 メダルをたくさん取ると、称号がもらえます! 称号(Tier)について https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 26

Slide 26 text

©primeNumber Inc. 26 称号持ってる人はこれだけいます! アメリカにつぐkaggle大国 https://research-p.com/column /1218 https://research-p.c om/column/1664 https://www.kaggle.com/rankings

Slide 27

Slide 27 text

©primeNumber Inc. 27 Knowledge Compedtition ● 過去のMedalコンペを題材にしたもの ○ 有名なのだとTitanic ● 時間無制限でいつでもsubmitが可能 ○ Medalコンペとくらべ、初心者にやりやすい Learn ● Python や機械学習などについて学べる場 ● Kaggle Notebook環境を使って練習問題を解く 初心者向けコンペや学習コンテンツも充実...!! https://www.kaggle.com/learn/time-series

Slide 28

Slide 28 text

©primeNumber Inc. 28 実はKaggleスタートではありませんでした ● SIGNATEと呼ばれる日本のコンペプラットフォームが入口 ○ SIGNATE上の初心者コンペ(AI Quest)で好成績を出せて楽しくなった ○ 外部の講座(データサイエンティスト養成講座)を修了し、コンペ勉強会に参加 ● コンペ勉強会の仲間が、kaggleに参加していたので、自分もチームを組んで参加 ○ 運よくメダルが取れたので、そこから楽しくなって今に至る ※詳細はQiitaの記事にもしてるので、気になる方は後で読んでください 参考: 私の始め方

Slide 29

Slide 29 text

コンペだけじゃない、kaggleの魅力 POINT

Slide 30

Slide 30 text

©primeNumber Inc. 30 Kaggle継続するにハイスコア必要!?? ハイスコア出すなんて、 データ分析普段やらないから 無理だ・・・ 称号持ってる人と 勝負するなんて結果 わかりきってるよ・・ いい精度出すには パラメータチューニング。。 美味しいですかそれ? 徹夜してハイスコアまで 出したいと思わないな・・・

Slide 31

Slide 31 text

©primeNumber Inc. 31 ハイスコア出せずkaggle続けても.....

Slide 32

Slide 32 text

©primeNumber Inc. 32 コンペ以外でもメダルや称号が...!! ※「Upvote(いいね)」ボタンがあり、voteがある数を超えるとメダルが付与 https://www.kaggle.com/progression https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 33

Slide 33 text

©primeNumber Inc. 33 ● ユーザーがデータセットを置いて、公開できる ● OSSのように公開するためのプラットフォーム ● データ制限は、private datasets全体で20GB上限 ● どんなデータでもアップすることは可能 ● Kaggle API for datasetsでアップロード・ダウン ロード可能 ● コンペ以外のデータも沢山あります ○ 自分でアップロードも可能 Datasetについて https://blog.hamayanhamayan.com/entry/2020/05/04/104943 https://www.kaggle.com/datasets

Slide 34

Slide 34 text

©primeNumber Inc. 34 データセットの形式 形式 例 備考 CSVs 「The Complete Pokemon Dataset」 json SQLite 「European Soccer Database」 BigQuery 「USA Names Data 」 利用方法 ● Big Query を使い始める ● クエリを超えて: BigQuery API の探索 ユーザー 1 人あたり 30 日間でスキャンされ るデータの割り当ては 5 TB アーカイブ 「胸部X線画像(肺炎)」のデータ 検索方法や規約については、How to Use Kaggleを参照

Slide 35

Slide 35 text

©primeNumber Inc. 35 面白そうなデータセット https://www.kaggle.com/datasets/preethamgouda/campaign-data  https://www.kaggle.com/datasets/downshift/water-quality-monitoring-dataset

Slide 36

Slide 36 text

©primeNumber Inc. 36 External Data 
 コンペのルールでExternal Dataが認められている場合、収集したExternal DataをKaggle Datasetとして公開したものをDiscussionで shareしておくと高い評価を貰いやすいようです。
 コンペデータを加工 
 最近のコンペでは、入力に時間がかかる前処理を施す必要があることもあります。これらのコンペで時間がかかる前処理を施したあと のデータセットを新しいデータセットとして公開すると評価されやすいようです
 
 ライブラリ 
 Internet使用不可のコンペではKaggleのdocker imageに入っていないライブラリを使いたい場合、Kaggle Datasetsにライブラリを加えて それをNotebookで読み込むようにするやり方が広く使われています。コンペにおいて重要なライブラリなどをDataset化して公開すると 多くの人から評価されるようです。
 学習済み重み 
 ハイスコアNotebookを重みも公開した状態で公開すると重みの方にもupvoteがつきやすくなると言うトリックがあります。金圏や銀圏上 位にそのまま入れてしまうようなNotebookの重みの公開は快く思わない人もいるようですが、コンペ終盤でない限り多くの人に歓迎され ています。
 DataSetでのメダルの取りやすさ https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 37

Slide 37 text

©primeNumber Inc. 37 Discussionでのメダルの取りやすさ 上位解法(割愛) 
 手元のスコア vs kaggle 上のスコア(割愛) 
 関連論文やリンクのまとめなど 
 コンペ序盤に現れやすいスレッドで、金メダルを取りやすいです。過去の類似コンペを調べてその上位解法のリンクを貼ったり、関連研 究の論文をいくつか読んでリンクと簡単な説明をつけたり、と様々ですが、これをやるメリットとしてその過程で自分もいろいろ知見をた めることができる、というものがあります。
 自分がドメイン知識がある分野の場合や、リサーチ力には自信がある場合にはこれで金メダルを狙うのはカタいと思います。
 バグ報告 + 解決法など 
 最近はKernel Onlyのコンペが多いこともあり、submissionにまつわるエラーなどが出やすいという傾向があります。これらについての報 告やそれをどう解決したか、という情報は他の人にとっても非常にありがたいことが多く、高く評価されやすいです。
 アイデア共有 
 言うまでもないことですが、重要なアイデアの共有はいずれのコンペにおいても歓迎されます。重要なアイデアなんだからあまり共有は したくないと思う方もいるかもしれませんが、実際のところそれを生かしてスコアをあげるチームはそれほど多くないことがほとんどで す。
 https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 38

Slide 38 text

©primeNumber Inc. 38 Notebookでのメダルの取りやすさ 初期のベースライン(スターターNotebook) 
 スターターNotebookは先ほども述べたものですが、ここではコンペ初期のベースラインのようなものだと考えています。最初に出た ベースラインはupvoteをもらいやすい傾向にありますが、そうでなくても
 1. コンペを進める上でいろいろカスタマイズしやすい
 2. naiveなやり方ではたどり着けないくらいには高いスコアがちゃんと出る
 ようなNotebookはupvoteをもらいやすいです。(中略)手の速さに自信がある方はスターターの公開に全力を注ぐのも一つの楽しみ方 ではないでしょうか?
 ハイスコアNotebook(割愛) 
 知見共有系 
 例えば危険な特徴が混入していることを警告するNotebook、ライブラリの使い方やよく知られていないドメインのお作法の解説、デー タの偏りを指摘するNotebookなど、様々なものがあります。
 https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 39

Slide 39 text

©primeNumber Inc. 39 コンペも自分でも開けちゃいます! Kaggleコンペに当たっては以下の3要素があれば、開催できます! ● コンペに出題する問題 :単一な変数を予測することが出来る設計にする必要があります。 ● 予測に用いるデータ :必要なデータをクリーニングして Kaggleの運営側に渡す必要があります。ま た、テーブルデータの場合は数万~数十万行ほどのデータがあったほうが良いとのことです。 ● お金:企業開催コンペの一般的な費用は $85,000~$200,000程度のようです。Kaggleの運営側に開催準 備を手伝ってもらうことが多い場合や、賞金設定によって費用は上下します。なお、賞金設定は最小 $25,000とのことです。 ※コンペを開催することで、Dataset, Discussion,Notebookのメダル獲得や称号保持者もいます 引用元:Kaggleでコンペを開催する方法について調べてみた

Slide 40

Slide 40 text

©primeNumber Inc. 40 企業でのコンペ事例やコンペコンサルの会社まで...!! ● Panasonicでは多数のkagglerが在籍し、活発に社 内コンペを実施 ○ その他、リクルート,野村総研,NTTコミュニ ケーションズ, ネットワンズシステムズ etc ● Nishikaやatma cupなどの国内コンペプラット フォームではコンペコンサルも...! ○ atma cupの中の人は個人でコンペ相談乗っ てくれるそうです... https://tech-ai.panasonic.com/jp/blog_page.html?id=20220805

Slide 41

Slide 41 text

©primeNumber Inc. 41 実は関西kaggler会でコンペ以外の 楽しみ方を教えてくれた方がいます....

Slide 42

Slide 42 text

©primeNumber Inc. 42 関西kaggler会のオープニングの発表で.... ※関西kaggler会の運営の方 普段はAuto MLのDataRobot に在籍されている 発表資料 https://speakerdeck.com/ryosukehata/guan-xi-kagglerhui-fa-biao-suraido

Slide 43

Slide 43 text

©primeNumber Inc. 43 Ryosuke Hataさんの発表

Slide 44

Slide 44 text

©primeNumber Inc. 44 Ryosuke Hataさんの発表

Slide 45

Slide 45 text

©primeNumber Inc. 45 Ryosuke Hataさんの発表

Slide 46

Slide 46 text

©primeNumber Inc. 46 Ryosuke Hataさんの発表

Slide 47

Slide 47 text

©primeNumber Inc. 47 Competition以外の称号保持者もこれだけいます...!!! https://zenn.dev/koukyo1994/articles/7b8b06de0680f0

Slide 48

Slide 48 text

©primeNumber Inc. 48 参考: 私のkaggleとの向き合い方の変化 発表 聞く前 SOLOでコンペのメダルとって凄いと言われたい! ● メダルも取れたし、SOLOでExpert目指そう ○ 業務をやりながらで一人だとキツすぎる.... ○ 周りより優位なところ見せたい... 発表 聞いた後 どんなやり方でもいいから、kaggleと継続に関わりたい! ● 今まで通り、チームで楽しくやっても良さそう ● 社内の人とチーム組んで、バーカンで酒飲みながらやりたい....! ● 社内コンペ開いてみんなで盛り上がりたいな....

Slide 49

Slide 49 text

関西kaggler会に参加してみて POINT

Slide 50

Slide 50 text

©primeNumber Inc. 50 そもそも関西kaggler会って? 関西Kaggler会は、有志によるKaggleコミュニティです。関西 を拠点に、企業や組織の垣根を超えて、データサイエンティ ストの交流を促すために活動をしています。 kaggleやデータ分析が好きで、関西在住の方、関西に縁が ある方、関西が好きな方が参加できます。 Kaggle 好きだからこそ、ルールは守り、プライベートシェアリ ングは行いません。 ※交流会は2021年から今回で9回目 https://kansaikaggler.studio.site/

Slide 51

Slide 51 text

©primeNumber Inc. 51 2024年7月5日(金) 12:45〜18:30 ● 会場:大阪京橋 QUINTBRIDGE(NTT西日本の敷地内) ● LT会 参加人数:125人(半分が関西以外から) 会場の雰囲気

Slide 52

Slide 52 text

©primeNumber Inc. 52 発表内容 一部・二部: kagglerの発表 三部: 企業スポンサー 会終了後 ノベルティ抽選会→懇親会 https://kansaikaggler.studio.site/posts/event_202407

Slide 53

Slide 53 text

©primeNumber Inc. 53 印象的だった発表① コンペ気軽に参加しようぜ〜

Slide 54

Slide 54 text

©primeNumber Inc. 54 印象的だった発表② データ分析コンペとの向き合い方(ver1振り返り)

Slide 55

Slide 55 text

©primeNumber Inc. 55 印象的だった発表② データ分析コンペとの向き合い方 (ver2の本筋)

Slide 56

Slide 56 text

©primeNumber Inc. 56 交流会に参加した全体的な感想 ● 強強 kagglerでも業務や体調面から無理なくコンペをやる人が多い ● kagglerは、意外にもデータサイエンスがベスプラだと思ってない ○ ダッシュボード可視化が最高だと思うkaggle Masterの方も ● メダルに固執しすぎず、改めていろんな頑張り方があると理解 ○ チームで出る楽しさ、成長に重きをおいても良さそう....!! ● コンペをpN社内でも開催したい....!! ○ データセットの準備は大丈夫、問題設定の事例も沢山ある ○ コンペを通じて、部署間の交流も生まれるし、分析周りの知見も溜まる

Slide 57

Slide 57 text

©primeNumber Inc. 57 みんなのkaggleアカウント 最後に記念撮影...!!!!

Slide 58

Slide 58 text

©primeNumber Inc. 58 1次会は50人以上が参加 2次会も何組かで別の場所に行きました笑 懇親会の雰囲気とノベルティについて

Slide 59

Slide 59 text

©primeNumber Inc. 59 おまけ: kaggleコミュニティは全国いっぱいあります...!! ※関西kaggler会は 次回11月8日に開催予定

Slide 60

Slide 60 text

まとめ POINT

Slide 61

Slide 61 text

©primeNumber Inc. 61 発表のまとめ ● 一見するとコンペで黙々とハイスコアを出すしか楽しめなさそう.... ● しかし、データに関する様々なコンテンツが充実 ○ コンペ同様にメダルや称号もあります ○ 自分でコンペを開いたり、コンペと関係ないデータも見れます! ● コミュニティもいっぱいあるし、一緒にやる仲間もたくさんいます! kaggleはどんな楽しみ方をしても ※ kaggleもいいですが、私はGoogle Professional Data Engineerの再試を8/4(日)に受けます...データエンジニアもがんばります...