ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

pd.plotting.scatter_matrix

pd.plotting.scatter_matrixとは

pd.plotting.scatter_matrixは、pandasのプロット機能を使用して、データフレーム内の数値列の間で散布図行列(scatter matrix)を作成するための関数です。

基本的な構文

pd.plotting.scatter_matrix(frame, alpha=0.5, figsize=None, diagonal='hist')

主な引数

  • frame: 散布図行列を作成するためのデータフレームを指定します。

  • alpha(オプション): プロットされる散布図の透明度を指定します。デフォルトは 0.5 です。

  • figsize(オプション): 散布図行列の図のサイズを指定します。デフォルトは None で、自動的にサイズが調整されます。

  • diagonal(オプション): 対角線上の要素のプロット方法を指定します。デフォルトは 'hist' で、ヒストグラムが表示されます。他のオプションには 'kde'カーネル密度推定)や None(何も表示しない)などがあります。

仕組み

pd.plotting.scatter_matrixを呼び出すと、指定したデータフレーム内の数値列の間に、相互に対応する散布図が作成されます。データフレーム内のすべての数値列の組み合わせに対して散布図がプロットされます。対角線上にはヒストグラムまたはカーネル密度推定が表示されます。

使い方

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

np.random.seed(0)
data = pd.DataFrame(np.random.rand(100, 4), columns=['A', 'B', 'C', 'D'])
pd.plotting.scatter_matrix(data, alpha=0.5, figsize=(8, 8), diagonal='kde')

plt.show()

この例では、4つの数値列からなるデータフレームを作成し、散布図行列をプロットしています。散布図行列には、データフレームの各数値列の間の散布図が表示されます。対角線上にはカーネル密度推定が表示されます。

pd.plotting.scatter_matrixを使用すると、データフレーム内の数値列間の相互関係を視覚的に確認することができます。

使用例(scikit-learnのboston)

pd.plotting.scatter_matrix(df, figsize=(12,12))
plt.show()

散布図
このように散布図によって視覚的にデータの特性を見ることができます。

YouTube

youtu.be