Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Pythonでデータと向き合いながら価値を見出す「探索的データ解析」に挑戦しよう

Pythonによるデータ解析入門 第2回

2018/09/06 14:00

 本連載では、プログラミングの基本は理解していて、より実践的なデータ解析に取り組みたい方を対象に、スクリプト言語によるデータ解析の実践を解説します。スクリプト言語のなかでも特にデータ解析に役立つライブラリや環境が整っているPythonを取り上げ、対話型解析ツールやライブラリについて導入から解析の実行・可視化までを解説します。第2回では、Pythonによる探索的データ解析を解説します。まず対話的環境による探索的データ解析について確認し、Jupyter Notebookを使ったデータ解析の実行・可視化までの手順を解説します。

目次

対象読者

  • Pythonの基本的な文法を理解しておりデータ解析のスキルアップに取り組みたい

サンプルの動作確認環境

  • MacOS 10.13
  • Anaconda 5.1
  • Python 3.6
  • Jupyter Notebook 5.4

探索的データ解析の流れを確認

 まず対話型環境による作業の流れを確認します。Jupyter notebookのような対話型環境では、次の流れに従って作業が進みます。

  • コードを書く
  • 実行する
  • 結果を表示する
  • 以上を繰り返す

 この繰り返しはREPL(Read-Eval-Print Loop)と呼ばれます。この作業の流れはデータ加工やモデル(統計や機械学習の数理モデル)を少しずつ組み立てていく際に役立ちます。より一般的なコーディング作業の流れ(編集、コンパイル、実行、デバッグの繰り返し)では、プログラムを完成させてから分析を行うことになります。コードを書いて分析までのサイクルが大きくなり、作業量と時間は大きくなりがちです。

 対話型環境では小さな実験的なコードから順に組み立てを行い、パラメータを少しずつ調整する作業になります。この作業の流れは、モデルを試行錯誤しながら作成するのに適しています。

探索的データ解析とは

 探索的データ解析とは、モデルありきではなく、データを実際に観察したり加工したりしながらデータの価値を見いだしていく解析手法です。

 「仮説検証型データ解析」が仮説を先に立てて、それを検証するためにデータを確認していくのに対して、探索的データ解析では仮説を立てず、データ自体と向き合いながら分類や分割など繰り返しながら特徴的なデータを探索していきます。

 探索的データ解析では、先述した対話型の環境によるコーディング作業の流れが相性がよいです。今回は対話型環境としてJupyter Notebookを用いながら探索的データ解析をしていくプロセスを紹介します。


著者プロフィール

  • WINGSプロジェクト 西 潤史郎(ニシ ジュンシロウ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:Pythonによるデータ解析入門
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5