LoginSignup
7
11

More than 1 year has passed since last update.

EDAツールについて

Posted at

EDAとは

探索的データ分析(Explanatory Data Analysis)とは、データサイエンティストがデータに対する理解を深めるために用いる手法です。主にデータの可視化を通して各種統計量や欠損値、外れ値などを見つけます。
今回はEDAに関するツールで便利なものがあったのでまとめます。

pandas-profiling

今回はkaggleのtitanicのデータを使います。

インストールに関してはこちらを参照

import pandas as pd
import pandas_profiling as pp
train_df = pd.read_csv('train.csv')
pp.ProfileReport(train_df)

出力結果は長くなるのでこちらの記事を参照してください。

pandas-profilingの問題点として、結果が出力されるまでに時間がかかる点が挙げられます。今回のデータでは自分の環境では28.3sかかりました。より大きなデータとなったときに計算がなかなか終わらない可能性があります。
この問題はMinimal modeを使うことで部分的に解決できます。

pp.ProfileReport(train_df,minimal=True)

これにより、実行時間は4分の1ほどでデータの変数(Variables)の部分まで取り出すことができます。

AutoViz

インストールはこちら
pandas-profilingと似ていますが、各変数の対応関係も自動で可視化してくれるので便利です。(*DataFrame型だと読み込めないので注意)

from autoviz.AutoViz_Class import AutoViz_Class
AV = AutoViz_Class()
autoviz = AV.AutoViz('train.csv')

output.png

output1.png

output2.png

output3.png

output4.png

output5.png

sweetviz

インストール

import sweetviz as sv
report = sv.analyze(train_df)
report.show_notebook()#notebook上で表示

image.png
ほとんどpandas-profilingのVariablesと同じです。
sweetvizの良い点は、学習データとテストデータを目的変数を設定して比較できることです。

compare_report = sv.compare([train_df, "Train"], [test_df, "Test"], "Survived")#trainデータとtestデータを比較 目的変数はSurvived
compare_report.show_notebook()

image.png

参考サイト

pandas-profiling
Autoviz
sweetviz
【Pythonメモ】pandas-profilingが探索的データ解析にめちゃめちゃ便利だった件
【EDA】Sweetvizの紹介 (+pandas-profilingとの比較)
【Autoviz】機械学習EDAの便利ツールをPythonで試してみる

7
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
11