Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

データサイエンティストを育成する試み
~PyData.Tokyo Tutorial & Hackathon #1 イベントレポート

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2015/04/20 14:00

 PyData.Tokyoは「Python+Dataを通じて、世界のPyDataエクスパートと繋がれるコミュニティーを作る」ことを目的として設立されました。その達成に向けた活動の一つとして、月1回のペースで勉強会を開催しています。今回は3月に実施した初めてのハンズオンチュートリアルイベントについてお届けします。

目次

PyData.Tokyo第1回チュートリアルイベント開催!

 PyData.Tokyoオーガナイザーのシバタです。

 PyData.Tokyoは「Python+Dataを通じて、世界のPyDataエクスパートと繋がれるコミュニティーを作る」ことを目的として設立され、これまでに行ってきた勉強会は、質の高い登壇者と参加者が「濃い」議論をできる場として、広く知られるようになりました。イベントを管理しているconnpass上では500人を超えるメンバー登録があり、CodeZineでの連載もたくさんの方に読んでいただいております。

 PyData.Tokyoで当初目標としていたのは、レベルの高いデータサイエンティストの集まる会を作ることに加え、これからデータサイエンティストになることを目指している方々の育成です。データサイエンティストの不足はあらゆるところで聞かれ、一方で幸いにも多くの方が今後データサイエンティストを目指している状況にあって、私たちもコミュニティーに貢献したいと思ってきました。3月に実施したチュートリアルでは、特にデータサイエンティストを目指す初級中級者のかたに実際に手を動かしてデータ解析を学ぶことのできるチュートリアル実施するとともに、上級者の方々には、自らの技術を使って機械学習による予測精度を競うハッカソンを行いました。

今後のイベントのお知らせ

 勉強会およびチュートリアルは、connpassを通じて告知を行っておりますので、ご興味をお持ちの方はこちらからメンバー登録をしていただきますと、最新のイベント情報をお知らせします。

今回のチュートリアル&ハッカソンのテーマ

 今回のチュートリアル&ハッカソンでは「タイタニックの生存者予測をテーマに行いました」。データサイエンティストが腕を競い合う道場的存在であるKaggleでも公開されており、広く研究されているデータです。

 タイタニックは歴史上最も大きい海難事故の一つで、たくさんの人の命が失われました。一方で、生存者には一定のパターンがあります。例えば、「女性は男性に助けられて生存の確率が高かった」「等級の高い船室にいた乗船客はいち早く救助されたため生存の確率が高かった」などです。乗客名簿には、このほかにも船室の位置や、乗船場所、さらに乗客の名前まで記載されています。一見役に立たないようにも見えるこれらの情報も、複雑な関係のもとに乗客の生死を分けるパターンと捉えることができる可能性があります。そのような多数の変数の中から人間には分からないパターンを見つけるためには3つのことが重要です。

  1. 事故が起こった現場の状況や、各乗船客に対する理解に基づいて、データをどのように使えば生存予測の向上を行えるか、正しい仮説を作ること
  2. データが十分に信頼できるものであり、前処理により不正値や欠損値などの問題が取り除かれていること(チュートリアル第1部)
  3. 機械学習アルゴリズムを使い、複数の変数から隠れているパターンを見出すこと(チュートリアル第2部)

 このチュートリアルでは、プレゼンテーションを行ってデータを使った予測モデルの作り方を解説し、その後第1部ではデータの前処理をメインに解説、そして第2部では機械学習アルゴリズムの使い方と結果の検証の仕方を解説しました。

 導入部分のプレゼンテーションはこちらです。

優れたアルゴリズムよりも大切なこと

 機械学習を使った分析でよく聞かれるのが「このアルゴリズムではあまり結果が出ない、別のアルゴリズムならもっといい結果が出るだろう」というようなコメント。実際にはアルゴリズムを変えることで達成できる向上は、よほど革新的なアプローチをしない限りは大差ありません。当然のことのように聞こえるかもしれませんが、何よりも大切なのは、「データを見る」ことです。データが現実の問題の何を表しているのか、その理解なしに優れたモデルを組むことはできません。アルゴリズムは「魔法」ではなく、決まった規則に従って計算するだけの機械なので、人間が正しい問題設定をしていなければ、いくらたくさんのデータを放り込んでもいい結果は見込めません。

 実際のデータ分析では、正しく問題の理解をし、どうしたら問題が解けるのか仮説を構築した上で実際の結果が良くなっているかどうか、検証を繰り返していくことになります。

玄人のためのハッカソン

 初心者の育成が主な目的だった今回のイベントですが、データ分析に精通し、日頃からKaggleで腕試しをしているようなデータサイエンティストも10名ほどご参加いただきました。会場の一角にある茶の間コーナーで、ちゃぶ台の上にパソコンを並べ、お互いのアイディアを交換しながら精度向上を行っていました。最終的には85%に迫る精度を出した参加者の方もおり、最後のLT発表では「そんなことまでするのか」と他の参加者からは驚きの声が挙がっていました。

環境構築

 今回、チュートリアルでは下記のパッケージを利用しました。

パッケージ名 動作バージョン 用途
Pandas 0.15.2 データの読み込み・集計・加工
matplotlib 1.4.3 データの可視化
IPython 3.0.0 実行環境(Notebookを利用)
scikit-learn 0.15.2 機械学習

 データ分析用のパッケージをまとめて配布しているAnacondaを導入するか、各パッケージをpipでインストールします。

$ pip install pandas
$ pip install matplotlib
$ pip install ipython[notebook]
$ pip install scikit-learn

 IPythonの起動は下記のコマンドで行えます。

$ ipython notebook

  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2015/04/21 14:51 タイトルが少々紛らわしかったので修正しました。

著者プロフィール

  • シバタアキラ(シバタ アキラ)

    データサイエンティスト@DataRobot, Inc. PyData.Tokyoオーガナイザー 人工知能を使ったデータ分析によるビジネス価値の創出が専門分野。物理学博士。NYU研究員時代にデータサイエンティストとして加速器データの統計モデル構築を行い「神の素粒子」ヒッグスボゾン発見に貢献...

  • 田中 秀樹(タナカ ヒデキ)

    PyData Tokyoオーガナイザー シリコンバレーでPython×データ解析の魅力に出会う。帰国後、ディープラーニングに興味を持ち、PyCon JP 2014に登壇したことがきっかけとなりPyData Tokyoをスタート。カメラレンズの光学設計エンジニアをする傍ら、画像認識を用いた火星および...

  • 池内 孝啓(イケウチ タカヒロ)

    神奈川県横浜市出身。1984年生まれ。ソフトウェア開発会社、インフラサービス提供会社を経て2011年3月株式会社ALBERT入社。クラウドコンピューティングを活用したマーケティングプラットフォーム事業の立ち上げに携わる。2014年1月に同社執行役員に就任。2015年8月株式会社ユーリエを設立。同社代...

  • 山本 光穂(ヤマモト ミツオ)

    デンソーアイティーラボラトリ シニアエンジニア。 2006年デンソーアイティーラボラトリ入社以来、時空間情報閲覧サービス(製品名:今昔散歩)や情報検索等に関する研究に従事。特に最近はドライバーの意図推定技術や同推定結果に基づく最適な情報提示技術に興味を持つ。趣味はマウンテンバイクとイングレス(Re...

バックナンバー

連載:「PyData.Tokyo Tutorial & Hackathon」イベントレポート
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5