Pythonによるデータ分析 | Rによる1対多のグラフ

Pythonによる1対多のグラフ

1対多のグラフ です。

量的変数の類似度の分析方法をベースにした方法

基本的に量的変数を扱う方法ですが、質的変数は ダミー変換 して質的・量的が混合していたり、質的変数だけでも使えるようにしてあります。

1つの量的変数と、他のすべての変数の組み合わせのグラフ

因果関係の分析をする時などは、総当たりの散布図は必要なく、1つの変数と他のすべての変数の組み合わせについて、散布図を見たいことがあります。 その時の作り方です。

下記のコードでは、1つの変数というのは、「Y」という名前にしておく必要があります。 他の変数の名前は、特に指定はありません。

まずは、注目したい変数が量的変数の場合です。

import os #パッケージの読み込み
import pandas as pd
#パッケージの読み込み
import matplotlib.pyplot as plt
# パッケージの読み込み
import seaborn as sns
# パッケージの読み込み
from sklearn import preprocessing
# パッケージの読み込み
%matplotlib inline
sns.set(font='HGMaruGothicMPRO')
# PandasのPlotのグラフの見た目をseaborn風にする。グラフのフォントを設定する
os.chdir("C:\\PyTest")
# 作業用ディレクトリを変更
df= pd.read_csv("Data.csv" , engine='python')
# データを読み込み
df2 = pd.get_dummies(df)
# 質的変数はダミー変換
df3 = preprocessing.minmax_scale(df2)
# 正規化
df4 = pd.DataFrame(df3, columns = df2.columns.values)
# データフレームに戻す
df5 = pd.melt(df4, id_vars=['Y'])
# データをグラフ用に並べ変える
sns.relplot(data=df5, x='value', y='Y', col='variable',kind='scatter',col_wrap = 5)
# ひとつの量的変通と、他のすべての量的変数で散布図を描く
1つの量的変数と、他のすべての変数の組み合わせのグラフ

1つの質的変数と、他のすべての変数の組み合わせのグラフ

注目したい変数が質的変数の場合です。

import os #パッケージの読み込み
import pandas as pd
#パッケージの読み込み
import matplotlib.pyplot as plt
# パッケージの読み込み
import seaborn as sns
# パッケージの読み込み
from sklearn import preprocessing
# パッケージの読み込み
%matplotlib inline
sns.set(font='HGMaruGothicMPRO')
# PandasのPlotのグラフの見た目をseaborn風にする。グラフのフォントを設定する
os.chdir("C:\\PyTest")
# 作業用ディレクトリを変更
df= pd.read_csv("Data.csv" , engine='python')
# データを読み込み
df11 =pd.DataFrame(df['Y'])
# Yの列を別に作っておく
df12 = df.drop('Y', axis=1)
# Y以外の列を別に作っておく
df2 = pd.get_dummies(df12)
# 質的変数はダミー変換
df3 = preprocessing.minmax_scale(df2)
# 正規化
df3 = pd.DataFrame(df3, columns = df2.columns.values)
# データフレームに戻す
df4 = pd.concat([df11, df3], axis = 1)
# Yの列を足す
df5 = pd.melt(df4, id_vars=['Y'])
# データをグラフ用に並べ変える
sns.catplot(data=df5, x='Y', y='value', col='variable', kind='strip', jitter=False,col_wrap = 5)
# 1次元散布図
1つの質的変数と、他のすべての変数の組み合わせのグラフ

sns.catplot(data=df5, x='Y', y='value', col='variable', kind='strip', jitter=True,col_wrap = 5) # 1次元ジター散布図
1つの質的変数と、他のすべての変数の組み合わせのグラフ

sns.catplot(data=df5, x='Y', y='value', col='variable', kind='box', col_wrap = 5) # 箱ひげ図
1つの質的変数と、他のすべての変数の組み合わせのグラフ



Tweet データサイエンス教室