集めたデータを分析する前に,データの特徴を概観する必要があるでしょう.ydata-profiling を使うと,簡単にデータの特徴をつかむことができます.
まず,pip
コマンドを使って,ydata-profiling
をインストールします.
% pip install ydata-profiling ⏎
上のコマンドでインストールができたら,次のステップに進んでください.一方で,ライブラリのバージョンの組み合わせによっては ydata-profiling
のインストールに失敗する場合があります.このような場合は次の手順で仮想環境を構築するとよいでしょう.Windows では Anaconda Prompt を起動して,mac ではターミナルを起動して次のコマンドで仮想環境の一覧を確認します.
% conda env list ⏎
仮想環境の名前には今回は py311ydata
を設定し,Python のバージョンは 3.11 を指定して仮想環境を作成します.
% conda create -n py311ydata python=3.11 ⏎
仮想環境が作成されたことを次のコマンドで確認します.
% conda env list ⏎
作成した仮想環境を有効にします.
% conda activate py311ydata ⏎
仮想環境に必要なライブラリをインストールします.
% pip install ydata-profiling ⏎ % pip install jupyterlab ⏎
仮想環境から Jupyter Lab を起動します.
% jupyter lab ⏎
Jupyter Lab を利用してデータを読み込み,ydata-profiling でデータの特徴を概観します.まず,ライブラリをインポートします.今回は Seaborn に登録されているデータを読み込むことにします.もちろん,自身のデータでも構いません.
from ydata_profiling import ProfileReport
import seaborn as sns
Seaborn にどのようなデータが登録されているか,その一覧を確認します.
sns.get_dataset_names()
['anagrams',
'anscombe',
'attention',
'brain_networks',
'car_crashes',
'diamonds',
'dots',
'dowjones',
'exercise',
'flights',
'fmri',
'geyser',
'glue',
'healthexp',
'iris',
'mpg',
'penguins',
'planets',
'seaice',
'taxis',
'tips',
'titanic']
今回はデータ分析で有名なフィッシャーのアヤメ (iris) データを利用することにします.次のコマンドでデータを読み込んで画面に表示します.このデータは萼片 (sepal) の長さと幅,花びら (petal) の長さと幅,アヤメの品種 (species) からなるデータです.
df = sns.load_dataset('iris')
print(df)
sepal_length sepal_width petal_length petal_width species 0 5.1 3.5 1.4 0.2 setosa 1 4.9 3.0 1.4 0.2 setosa 2 4.7 3.2 1.3 0.2 setosa 3 4.6 3.1 1.5 0.2 setosa 4 5.0 3.6 1.4 0.2 setosa .. ... ... ... ... ... 145 6.7 3.0 5.2 2.3 virginica 146 6.3 2.5 5.0 1.9 virginica 147 6.5 3.0 5.2 2.0 virginica 148 6.2 3.4 5.4 2.3 virginica 149 5.9 3.0 5.1 1.8 virginica [150 rows x 5 columns]
ydata-profiling でデータのレポートを作成します.レポートは HTML 形式で出力する方法が最も簡単で利用しやすいでしょう.
profile = ProfileReport(df)
profile.to_file("iris.html")
上のコードを実行するとプログラムと同じフォルダに HTML 形式でファイルが出力されます.このファイルを Web ブラウザで確認するとよいでしょう.実際に出力したファイルはここから確認できます.データの概観,変数ごとの特徴や,変数どうしの関係,相関,欠損値,データのサンプル,重複行を視覚的に確認することができるでしょう.