Google製可視化OSSのFacetsをGoogleColaboratoryで使ってみる

公開日:2018-11-12
最終更新:2018-11-12
※この記事は外部サイト(https://qiita.com/wakame1367/items/52f3f89...)からのクロス投稿です

こちらの記事を読んで、Google製可視化OSSのFacetsがめっちゃ便利だから使ってみてくれ 「Facetsを使うための準備が大変そうだなぁ」と思ったのでGoogleColaboratoryを利用すれば簡単にできるよという話。

GoogleColaboratoryについて

GoogleColaboratoryって何という人はこちらの記事を読んで下さい。

記事と同じことがやりたい人はGoogleアカウントが必要になるので作っておいてください。

Facetsを利用した可視化

Kagglerおなじみのタイタニックデータセットを可視化してみます。 下記リンク、> Download All からCSVをダウンロードしておいてください。 Kaggle - Titanic: Machine Learning from Disaster

これ以降のコードはGoogleColaboratory上で実行するコードになります。 コピーしてセル毎に貼り付けて実行(Run)してみて下さい。

# ローカルにダウンロードしたCSVをアップロードします
from google.colab import files
uploaded = files.upload() # then browse, select the files. It's then uploaded

# datasets load
import pandas as pd
titanic_train_data = pd.read_csv("train.csv")
titanic_test_data = pd.read_csv("test.csv")

titanic_train_data = titanic_train_data.drop(['PassengerId','Name','Ticket','Cabin'], axis=1)
titanic_test_data = titanic_test_data.drop(['Name','Ticket','Cabin'], axis=1)

Facets Dive

# Display the facets overview visualization for this data
from IPython.core.display import display, HTML
jsonstr = titanic_train_data.to_json(orient='records')
HTML_TEMPLATE = """<link rel="import" href="https://raw.githubusercontent.com/PAIR-code/facets/master/facets-dist/facets-jupyter.html">
        <facets-dive id="elem" height="600"></facets-dive>
        <script>
          var data = {jsonstr};
          document.querySelector("#elem").data = data;
        </script>"""
html = HTML_TEMPLATE.format(jsonstr=jsonstr)
display(HTML(html))

Facets Overview

import base64
from generic_feature_statistics_generator import GenericFeatureStatisticsGenerator
gfsg = GenericFeatureStatisticsGenerator()
proto = gfsg.ProtoFromDataFrames([{'name': 'train', 'table': titanic_train_data},
                                  {'name': 'test', 'table': titanic_test_data}])
protostr = base64.b64encode(proto.SerializeToString()).decode("utf-8")


HTML_TEMPLATE = """<link rel="import" href="https://raw.githubusercontent.com/PAIR-code/facets/master/facets-dist/facets-jupyter.html" >
        <facets-overview id="elem"></facets-overview>
        <script>
          document.querySelector("#elem").protoInput = "{protostr}";
        </script>"""
html = HTML_TEMPLATE.format(protostr=protostr)
display(HTML(html))

参考

記事が少しでもいいなと思ったらクラップを送ってみよう!
54
+1
@jNBYlY7Lp0gnnmucの技術ブログ

よく一緒に読まれている記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる

技術ブログをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

技術ブログを開設する

Qrunchでアウトプットをはじめよう

Qrunch(クランチ)は、ITエンジニアリングに携わる全ての人のための技術ブログプラットフォームです。

Markdownで書ける

ログ機能でアウトプットを加速

デザインのカスタマイズが可能

技術ブログ開設

ここから先はアカウント(ブログ)開設が必要です

英数字4文字以上
.qrunch.io
英数字6文字以上
ログインする