LoginSignup
6
1

More than 1 year has passed since last update.

AIRS-Lab式のKaggle入門

Last updated at Posted at 2021-11-30

AIRS-Labの記念すべき初アドベントカレンダーを担当させていただきます!!

2021年8月に始まったAIに関するコミュニティAIRS-Labの運営のお手伝いをしているyamoriです。

普段はFlutterエンジニアをしているのですが、昨年末に、我妻さんがAIに関するコミュニティを始めるという話を聞き、始めるとき手伝います!という流れで、今年の夏に週1ミーティングをしながらいろいろ準備してきました。

この記事は、AI初心者・Kaggle初心者(中級者・上級者向けの記事は明日我妻さんが書いてくれるはず・・・!)に向けて書いています。

AIRS-Labの紹介

記事に入る前に、少しAIRS-Labの紹介をさせてください。
AIRS-Labは現在30名ほど在籍しており、普段はSlack上でAIに関連する情報交換を行なっております。
週に2回ほど、みんなでもくもく会を行い、それぞれテーマを決めて学習を行っているのですが、もくもく会の前後で話をする時間があるので、今詰まっているところを気軽に質問できる場になっています。
月に1回イベントを開催しており、先日はオフラインイベントを開催するなど、AIに興味がある人が交流できる場を目指しています。

Lab内には、普段はWEB開発・アプリ開発など他の領域で仕事をしていて、今後AI領域にも挑戦したい!という方が多い印象です。
つまり、まだまだAIについては初心者の方が多いので、気軽に参加してください。
AIRS-Labに入ろうか迷っている方は、yamoriまで気軽にご連絡ください。

Labにいるメンバーの半数ぐらいはこれからAIを学びたい!とモチベーションの高いメンバーです。
そこで、機械学習初心者がモチベーションを保ちながら勉強できる環境を作ることができないか、ということで、データ分析コンペKaggleの勉強会を11月から立ち上げました。(12月、1月は自習期間で2月から勉強会再開予定です)

今日は、11月の勉強会を通して、1からKaggleに挑戦してきた経緯を少し共有したいと思います。

Kaggleの挑戦① - タイタニック -

まず、例に漏れず、Kaggleのタイタニックをやってみました。
おそらくKaggleを始めた方でタイタニックのチュートリアルをやってない人はいないのでは?というぐらい有名なものです。

KaggleのtitanicページのYoutubeで説明している方も、この題材はKaggleを始めるのにベストなものと言っています。
機会があればこちらを解説する記事も書いてみます。

タイタニックのチュートリアルとは、タイタニック号沈没(初めての航海中の1912年4月14日深夜に氷山に衝突し、多くの方が犠牲になった痛ましい事故)を題材にしています。

お客さんの情報(年齢、性別、配偶者の有無、客室のランク・・etc)を分析し、その生死を予測するコンペです。

データは2種類に分けられていて用意されています。
1. 訓練用データ(お客さんの情報+生死が与えられている)
2. テスト用データ(お客さんの情報しか与えられていない)
が与えられており、基本的には1のデータを使ってモデルを作成し、そのモデルを2のデータに当てはめた時に、どの程度の割合で正解しているか、その精度を競うという課題です。

最初は、何でデータが2種類あるんだろう?という超初歩的な疑問を感じていました。(Kaggleが何をやるものなのかわかっていなかったのです。)
いろいろ調べた結果、問題と答えが与えられているセット(訓練用データ)を分析し、問題と答えの間に関係性を見出し、その関係性が未知の問題にどれだけ対応できるのか、その精度を競うということだとわかりました。
未知の入試問題を解くために、過去問の分析手法を高めていく感覚に近いのかな、と思いました。

さて、肝心のデータの前処理、加工、モデル構築ですが、もちろん自力でできるわけなく、Udemyの講座やYoutubeの動画を見てコピペをして動かすのが精一杯でした。
とにもかくにも、スタートから提出までいけたときは少し嬉しかったです。(カンニングしてますけども)

Kaggleの挑戦② - 何を勉強すれば良いか整理 -

Kaggleを提出したはよいけども、ある疑問がメンバーの中に(というか僕の中に)湧いてきました。
どこをどのように変更すると、結果が変わるんだ、と・・・・・

そこで、コミュニティ内で相談させてもらったり、ググったりして、データ分析には大きく2つの段階があり、それぞれの段階で学ぶことが異なる、というのが現状の僕の理解です。
やっていることをもう一度整理すると、
1. 目的とするものに対して、関連しそうなデータを選び、加工する
2. 加工したものに対して、アルゴリズムを当てはめて、モデルを構築する
ということでした。

こちらの動画がとてもわかりやすかったです。

1については、計算するデータとして扱いやすい型(数字)を選ぶ、とうことであったり、pandasやmatplotlibなどを使って、データを可視化したり加工したりすることを指していて、
2については、さまざまなアルゴリズム(ランダムフォレストとかロジスティック回帰とか)を適用してモデルを構築する、
上記1、2の段階でさまざまな手法を用いてデータと向き合い、予測したいものの精度を高めていく、という大枠は何となく掴めたような気がしています。
(とはいえ、自力で1と2を行うには、①それぞれの処理やアルゴリズムを理解し、②適切なタイミングで使うという2段階の難しさがあり、道は険しそうです。)
Kagglerになれるよう、一歩ずつ勉強していきたいです。

終わりに

少しでしたが、勉強会でやってきたことをまとめました。
2022年2月には、Kaggleのもう一つの有名なチュートリアルである住宅価格予測のデータ加工〜アルゴリズム選定までをそれぞれで行い、発表会をします。
ぜひ、AIを学びたいという方、今がAIRS-Labに入会するタイミングかもしれません。
一緒にAIを学びましょう。

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1