[python]Seabornライブラリのリファレンス
seabornとは、matplotlibと同様にデータの可視化を行うライブラリであり、**matplotlibのラッパー(機能を拡張する役割を担うソフトウェア)**です。もともとのmatplotlibよりも、シンプルなコードで見た目のきれいな図を出力することができるようになります。ちなみに、プログラムの上では慣習的にsnsと略されます。
##前準備
説明用のデータの読み込みなど前準備
# ライブラリのインポート
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
% matplotlib inline
# データセットの読み込み
from sklearn.datasets import load_boston
boston = load_boston()
# どんな説明変数があるのかを確認
columns = boston.feature_names
print(columns)
# Pandasのデータフレームに変換
df_data = pd.DataFrame(boston.data, columns=boston.feature_names)
df_target = pd.DataFrame(boston.target, columns=['MEDV'])
df = pd.concat([df_data, df_target], axis=1)
# 特徴量の数が多いので、locメソッドで一部の特徴量のみを選択
df_pickup = df.loc[:, ['LSTAT', 'INDUS', 'DIS', 'RM', 'MEDV']]
散布図行列を出力
散布図行列とは複数の変数の組み合わせに対して、散布図とヒストグラムを出力したグラフのことです。右下がりの対角線上にヒストグラムが並び、それ以外の場所には対応する2変数についての散布図が出力されています。これによって、それぞれの変数の分布と、複数の変数同士の関係性をひと目で把握することができます。重要なのは、データに表れているパターンから現実の様子を読み取ろうとする姿勢です。
# 散布図行列を出力
# locメソッドで一部の特徴量だけをピックアップ
import seaborn as sns
sns.pairplot(df_pickup, size=2.0)
plt.show()
##ヒートマップの表示
ヒートマップとは、たくさんの数字の羅列を色付きのマップに映し出す手法です。前章でお見せしたイメージのように、**相関係数の値を赤と青の色の濃さで置き換えて表示してくれます。**これによって、相関係数行列をぐっと見やすく表示することができます。
参考サイト:
https://note.nkmk.me/python-seaborn-heatmap/
# ヒートマップの表示
# annot : 数値を表示するかどうか(annotation)
# square: 四角を正方形に合わせるかどうか
# fmt : 表示する数値の形式(formatting)
sns.heatmap(df.corr(), annot=True, square=True, fmt='.2f')
plt.show()
# 目的変数MODVに対して、説明変数LSTATとRMは相関係数が大きい⇒関係が強い