データハンドリング 前処理 可視化 機械学習 統計解析

python/相関行列(correlation_matrix)

投稿日:6月 20, 2019 更新日:

多変量に対して各変数の関係性を可視化するのに役立ちます。

データ取得

必要なモジュールのインポート

データのロード

カラムの説明

CRIMZNINDUSCHASNOXRMAGEDISRADTAXPTRATIOBLSTAT
00.0063218.02.310.00.5386.57565.24.09001.0296.015.3396.904.98
10.027310.07.070.00.4696.42178.94.96712.0242.017.8396.909.14
20.027290.07.070.00.4697.18561.14.96712.0242.017.8392.834.03
30.032370.02.180.00.4586.99845.86.06223.0222.018.7394.632.94
40.069050.02.180.00.4587.14754.26.06223.0222.018.7396.905.33

メソッド

  • corrcoef:相関行列の算出モジュール
  • heatmap:ヒートマップ作成モジュール

相関行列の算出

データの都合上目的変数yと説明変数Xが別れているので結合する。カラム名は後ほど使うためdnamesに格納しておく。

numpyを使って相関行列を計算する。

可視化

相関行列のヒートマップを描く。以下引数の一覧。

data:矩形データセット

ndarrayに強制変換できる2Dデータセット。 Pandas DataFrameが提供されている場合は、インデックスと列の情報を使用して列と行にラベルが付けられます。

vmin,vmax:フロート、オプション

カラーマップを固定する値。それ以外の場合は、データおよびその他のキーワード引数から推測されます。

cmap :matplotlibカラーマップの名前またはオブジェクト、あるいは色のリスト、オプション

データ値から色空間へのマッピング。 指定しない場合、デフォルトはcenterが設定されているかどうかによって異なります。

center :フロート、オプション

異なるデータをプロットするときにカラーマップを中央揃えする値。 何も指定されていない場合、このパラメータを使用するとデフォルトのcmapが変更されます。

robust:ブール、オプション

Trueとvminまたはvmaxが存在しない場合、カラーマップ範囲は極値ではなくロバスト分位数で計算されます。

annot :ブール値または長方形のデータセット、オプション

Trueの場合、各セルにデータ値を書き込みます。 dataと同じ形状を持つ配列のようなものであれば、生データの代わりにこれを使ってヒートマップに注釈を付けます。

fmt :文字列、オプション

注釈を追加するときに使用する文字列フォーマットコード。

annot_kws :キーの辞書 、値のマッピング、オプション

annotがTrueのときのannotキーワード引数。

linewidth :float、オプション

各セルを分割する線の幅。

linecolor :色、オプション

各セルを分割する線の色。

cbar :ブール値、オプション

カラーバーを描くかどうか。

cbar_kws :キーの辞書 、値のマッピング、オプション

fig.colorbarのキーワード引数。

cbar_ax :matplotlib軸、オプション

カラーバーを描画するAxes。それ以外の場合はメインAxesからスペースを取ります。

square :ブール値、オプション

Trueの場合、各セルが正方形になるように、Axesアスペクトを「equal」に設定します。

xticklabels、yticklabels :「auto」、bool、list-like、またはint、オプション

Trueの場合、データフレームの列名をプロットします。 Falseの場合、列名をプロットしません。 リスト形式の場合は、これらの代替ラベルをxticklabelsとしてプロットします。 整数の場合、列名を使用しますが、n個のラベルごとにのみプロットします。 “ auto”の場合、重ならないラベルを密にプロットします。

mask :ブール配列またはDataFrame、オプション

渡された場合、データはmaskがTrueのセルには表示されません。 欠損値のあるセルは自動的にマスクされます。

ax :matplotlib Axes、オプション

プロットを描画するAxes。それ以外の場合は現在アクティブなAxesを使用します。

kwargs :他のキーワード引数

他のすべてのキーワード引数はax.pcolormesh渡されax.pcolormesh

ref:https://seaborn.pydata.org/generated/seaborn.heatmap.html

相関を可視化するだけでなく、変数間をクラスタリングすることも可能。

-データハンドリング, 前処理, 可視化, 機械学習, 統計解析

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

python/pandas/DataFrame/欠損値の補完

データフレームの欠損値を補填する Contents1 メソッド2 データの準備3 pandas.DataFrame.fillna3.1 デフォルト3.2 パラメータ(method)3.3 使用例4 p …

no image

ボストン住宅価格 〜決定木〜

Contents1 線形回帰とは1.1 基本的なデータ探索について1.2 学習曲線について1.3 グリッドサーチについて1.4 グリッドサーチの使いこなし 線形回帰とは 線形回帰複数の変数における相関 …

no image

python/pandas/DataFrame/欠損値確認

データフレーム内の値がNoneまたはNAかどうかを確認する。 ※isnullとisnaの機能は同じ。isnullはisnaの別名なのでisnaが推奨 Contents1 メソッド2 データの準備3 p …

no image

クラスタリングの実践(中学生スポーツテストデータ)

Contents1 クラスタリングの実践1.1 概要1.2 データの読み込み1.3 データの確認1.4 主成分分析1.5 クラスタリング クラスタリングの実践 概要 ・目的:中学生のスポーツテストデー …

no image

python/matplotlib/散布図(scatterplot)

2つの数値データの関係を可視化する Contents1 データ取得2 メソッド3 可視化 データ取得 必要なモジュールのインポート

デ …