ydata_profilingを使ってみた

2023/07/09に公開

はじめに

データ分析は、初心者です。
今回は、EDAが簡単にレポート化できるydata-profilingを使ってみました。
kaggleでpandas-profilingは有名でしたが、2023年4月ごろから?!なのか、時期はよくわかりませんが、ydata-profilingに名称を変更したようです。

事前準備

Amazon SageMackerStudioLabを使用しています。
SageMackerStudioLabは、無料でターミナルも使用できるので分析ごとに環境を変えたいときに便利です。
GoogleColaboratoryは、ColabPro有料版にするとターミナルも使用できるようになります。
データは、kaggleのtitanicのデータを使用します。

<パッケージ>
python 3.10
ydata-profiling 4.3.1

ydata-profilingを使用してレポートを作成

SageMackerStudioLabで仮想環境をつくり、ydata-profilingをJupiterLabから実行します。
パッケージの使い方は、GitHubの記載の通りにプログラムを記載する。
分析に必要な情報がつまったレポートが簡単に出力できました。
https://github.com/ydataai/ydata-profiling

import pandas as pd
from ydata_profiling import ProfileReport
data_train = pd.read_csv('titanic_train.csv')
profile = ProfileReport(data_train, title="Profiling Report")
profile.to_notebook_iframe()
profile.to_file("your_report.html")

問題点

to_widgetsの表示はできませんでした。

profile.to_widgets()

kaggleの環境では表示できました。

SageMackerStudioLabは、どのパッケージが影響しているのかいろいろ調べましたが、解決できませんでした。

GoogleColaboratoryは、サポート対象外のようです。
"Ipywidgets is not yet fully supported on Google Colab (https://github.com/googlecolab/colabtools/issues/60)."

https://github.com/ydataai/ydata-profiling/blob/develop/src/ydata_profiling/profile_report.py

ydata-profilingを使用してわかったこと

データをセットすると自動で欠損値や簡単な特徴を調べてくれて、めちゃめちゃ便利だと思いました。
データを見てグラフを作りの作業をしていたのですが、かなり時間の短縮にもなりますね。
レポート作成までの時間も数分程度でした。
初期のデータ調査にはydata-profilingを使っていこうと思います。

さいごに

to_widgets()は、HTMLより視覚的にわかりやすかったので、いつか使用できるようになるとよいなと思いました。
まだまだ、python学習が不足しているので、今後も勉強していきたいです。

Discussion