Python、データ可視化で使いたいライブラリ4種
人工知能やIoTの時代に最も注目されている言語Python。シンプルにプログラムを記述できることに加えて、ライブラリが充実していることが特長のひとつです。標準ライブラリのほかにサードパーティ製のライブラリがあり、インターネット上から無料でダウンロードできます。このライブラリを使って、効率的にプログラムを組むことが可能です。
データ分析からビジネスの戦略提案や、データの有効活用をコンサルティングする「データサイエンティスト」という職種が注目を集めるようになりました。この新たに生まれた職種の仕事では、人工知能の分野に限らず「データ可視化」が重要になります。数字で説得するよりも、視覚的なグラフやチャートに加工した方が、クライアントの経営者層に対する訴求力があるからです。
Pythonには、データ可視化に関するライブラリが豊富です。そこで、データ可視化の作業に重要なライブラリを4種紹介します。
Jupyter Notebook:OSSの対話型ツール
データサイエンティストに使われているデータ分析用のツールで、ノートブックと呼ばれるファイルに、プログラム、コードの説明、実行結果などをまとめて管理することが可能なエディターです。OSS(Open Source Software)で提供されています。
実行のログを残すだけでなく、グラフも記録できます。つまり、以下の4つのライブラリと異なりますが、ただデータを可視化するだけでなく、さまざまなアプローチから機械学習の結果やビッグデータの解析を検討するためのツールといえます。
matplotlib:やや物足りない標準ライブラリ
グラフなどを描画するときに使われる、Pythonの標準的なライブラリです。インタラクティブなグラフや、簡単なアニメーションも作成可能です。ただ、コードがやや冗長になりがちなところがデメリットです。matplotlib.pyplotモジュールを使って、棒グラフ、円グラフ、散布図、ヒストグラムなどを描画し、グラフには凡例を付けられます。別の方法として、オブジェクト指向インターフェースを使って描くこともできます。
seaborn: matplotlib のグラフを美しく
seabornはmatplotlibがベースのライブラリで、美しいグラフを作成できます。matplotlibはプログラムが面倒ですが、seabornであれば簡単に見栄えのよいグラフ描画できます。ヒストグラムは「distplot」、散布図は「jointplot」というメソッドを利用します。「hue」というオプションを使えば色分けも可能になります。行列型のデータを色彩で可視化するツールに「ヒートマップ」がありますが、濃い色彩の部分はアクセスが集中しているなど、直感的なひと味違うグラフができます。
plotly:ぐりぐりグラフを動かす
通常の折れ線グラフや棒グラフでも、軸を自由にマウスでドラッグできるなど、ぐりぐり動かすグラフが描画できます。特に視覚的に興味深いのは、3Dアニメーションのグラフでしょう。バブルチャートにスライダーを追加したり、人間の脳の断面を画像にするMRIのデータをアニメーション化したり、さまざまなインタラクティブなグラフの作成が可能です。Jupyter Notebookの環境で実行します。
ぐりぐり動かすことの目的は、さまざまな視点からデータを分析することにあります。3次元で分析する必要のないデータは、3Dにする必要はありません。ただ、ぐりぐり動かすことは、データサイエンティストではない経営者などにはインパクトがあります。効果的に使うとよいでしょう。
データサイエンティストの時代に必要な可視化とは
かつて、ビジネスの可視化を「見える化」と呼んで注目した時代がありました。エンジニアではない中堅の営業マンや役員は、ビジュアライゼーションや可視化のことを、いまだに「見える化」と呼んでいる方もいるかもしれません。
若い人にとっては、「見える化」は「なんですかそれは?」と思わず聞き直してしまう用語ではないでしょうか。単純にExcelの表をきれいなグラフにすること、業務フローをチャートすることを可視化と考えている上司もいるかもしれませんが、そうではありません。
「可視化」には「目的」があります。ビジネス上の可視化であれば、可視化することによって企業の方向性や改善点を見直すこと、機械学習の成果を確認することなどがあります。ライブラリを使ってデータをグラフやチャートにしても、目的が見いだせない可視化は無用です。
データサイエンティストの仕事は、データの結果を提示するだけでは不十分です。提案する戦略や方向性に対して、説得力があるデータ可視化が求められます。
あまりセンスのないプログラマにデータ分析を依頼すると、流行りのライブラリやテクノロジを使って凝ったグラフを作成して「で、何なの?」というビジュアライゼーションをする人がたまにいませんか。「seabornを使っているんですよ!」と胸を張りがちですが「どんなライブラリを使ったか?」ではなく、その結果として、ビジネスに有益な情報や洞察を提示することが重要ではないでしょうか。
▼キャパの公式Twitter・FacebookではITに関する情報を随時更新しています!