2022/3/13:D-Tale 激推し記事がありました。
※ 記事曰く「D-Taleは万能ではないが、Pythonの世界に入ったばかりの学生なら、このライブラリを覚えておくといい。Pythonの上級者なら、コードをタイプするのに時間がかかるようなことを、このライブラリから得られるか試してみるともいい。」とのことです。
~手元データの要約、視覚化を超簡単に実現して、探索的データ解析(EDA)しよう(D-Tale編)~
はじめに
「”すぐ” このデータまとめて欲しい」に ”すぐ”に超簡単に応えられる Python の・・・ と題し、
「おい、悪いが”すぐに”このデータまとめてくれ」
に応えるための探索的データ分析(EDA)ツールを、これまでに3つ紹介しました。
今回は4回目!となりますが、今回紹介するD-Taleは、「これは売り物でなくてよいのか?!」と言うほど、探索しまくれるツールとなっています。
3回目までに紹介したEDAツールは、探索に必要であろうグラフや基本統計量をまとめ、目の前に提示してくれるというものでしたが、D-Taleは 自在に探索できる環境を提供してくれるというものになっています。
D-Taleこそが、探索するためのツールなのかもしれません。
ところで、D-TaleってなぜD-Taleなのでしょう?
Dataからストーリーをつかむ? Detail(詳細)とかけて、データの詳細分析?
まぁ、いわれは何でもよいのですが、これはもう、とにかくすごいです。
ちなみに・・・
以下のURLにアクセスすると(Pythonでインストールしなくても)D-Taleが味わえます。というか。。。フルで使用できます。
画面左上[►]のクリックであらわれるメニューの「Load Data」を選択すればローカルファイルがアップロードできます。同じメニューにある「Instances」にて該当ファイルを選択すればD-Taleに反映されます。
アップロードしなくても、サンプルデータで操作できます。これはイイ!ということなら、ご自身の環境にインストールされるとよいでしょう。
実行条件など
・Google colabで実行
・ボストン住宅価格のデータセットで実行
※手元データを読込んで実行する場合も記載していますので、簡単にできるはずです。
ボストン住宅価格のデータセットについて
以下サイト(Kaggle)の「Boston.csv」を使わせていただいた。
データ数:506, 項目数:14のデータセットで、住宅価格を示す「MEDV」という項目と、住宅価格に関連するであろう項目が「CRIM:犯罪率」「RM:部屋数」「B:町の黒人割合」「RAD:高速のアクセス性」・・・等、13項目で構成されたデータとなっています。
これだけ項目があると、データ傾向を掴むだけでも、なかなか骨が折れるだろうと想像できますね。
ボストン住宅価格データの項目と内容
|項目|内容|
|:-----------|:------------------|
|CRIM|町ごとの一人当たり犯罪率|
|ZN|25,000平方フィート以上の住宅地の割合|
|INDUS|町ごとの非小売業の面積の割合|
|CHAS|チャールズ川のダミー変数(川に接している場合は1、そうでない場合は0)|
|NOX|窒素酸化物濃度(1,000万分の1)|
|RM|1住戸あたりの平均部屋数|
|AGE|1940年以前に建てられた持ち家の割合|
|DIS|ボストンの5つの雇用中心地までの距離の加重平均|
|RAD|高速道路(放射状)へのアクセス性を示す指標|
|TAX|10,000ドルあたりの固定資産税の税率|
|PTRATIO|町ごとの生徒数と教師数の比率|
|B|町ごとの黒人の割合|
|LSTAT|人口の下層階級の比率|
|MEDV|住宅価格の中央値(1000㌦単位)|
プロファイリング(D-Tale)してみよう!
ライブラリのインストールおよびインポート
pip install dtale
# 必要なライブラリーのインポート
import pandas as pd
import dtale
import dtale.app as dtale_app
dtale_app.USE_COLAB = True
# データセットの読込み
df = pd.read_csv("Boston.csv",index_col=0)
df.head()
#dfに対してD-Taleを適用
dtale.show(df)
すべてのセル実行完了後、最終コードの下にあらわれる URLをクリック ⇒ D-Taleが操作できるようになります。
主な操作
代表的な機能を以下に紹介します。
Describe
Descriveは、画面左上[►]のクリックであらわれるメニュー、もしくは各列のcolumnをクリックすることであらわれるメニューより選択することができます。
基本統計量がわかり、ヒストグラム、カテゴリー毎のグラフ、QQプロット、各変数の表示/非表示の切替などができます。
Highlight
画面左上[►]のクリックであらわれるメニューに、いくつかのHighlight設定があらわれます。
Highlight設定できるのは、「データの型」「欠損値」「外れ値」です。
上図は「外れ値(Outliers)」を選択した例です。この例のように外れ値があれば色付きで示されます。
Correlations
画面左上[►]のクリックであらわれるメニューより選択することができます。変数間の相関係数行列がヒートマップで表示されます。
相関行列の下の散布図は、1列目と2列目の変数が反映されますので、各列のcolumnをクリックすることであらわれるメニューより列を移動させるとよいでしょう。
Chart
画面左上[►]のクリックであらわれるメニューより選択することができます。
利用可能なグラフィック(線、棒、散布図、円、ワードクラウド、ヒートマップ、3D散布図、サーフェス)の選択、各チャートに表示する変数や、表示する最大値や最小値などのパラメータを設定することができます。
Custom Filter
画面左上[►]のクリックであらわれるメニューより選択することができます。
例えば、ageという列があり、age>50 など条件設定し、Applyすると、該当する条件のレコードのみが表示されます。
その他
列ごとのHeatMap表示、変数変換、ローカルファイル読込み、エクスポート、テーマ(Light/Dark)など。
最後に
探索(EDA)してる感を、まちがいなく提供してくれます。
グラフの描画もサクサク、同じことをExcelで実行するのは不可能でしょう。
データというのは見れば見るほど気になるもの。まずは、定型アウトプットしてくれるEDAツールでざっと眺め、深掘りしたい変数があれば、D-Taleを活用するというのもよいかもしれません。
関連記事
参考サイト