ヒートマップ

ゆうき( @BASEBALLY15 )です^^

Pythonで『回帰分析』と『ヒートマップ』を使う方法を教えてください・・・

分かりました.

Pythonを使えば,1行や2行で書き終えることが出来るので,すごく便利です.

(Udemy 『実践Pythonデータサイエンス』を参考,Jupiternotebookを使用)

回帰分析とは?

回帰分析とは,関数をデータに当てはめることで,ある変数yの変動を別の変数xの変動により

説明・予測・影響関係を検討するための手法です.簡単に言うと,中学で習った『y = ax + b』を使った

分析のことを指します.(線形単回帰分析)

回帰分析(単回帰分析)をわかりやすく徹底解説!

ヒートマップとは?

2次元データ(行列)の個々の値を色や濃淡によって表現した可視化グラフの一種です.

ヒートマップとは?

学習内容1-回帰分析-

ライブラリ

import numpy as np

import pandas as pd

from scipy import stats

import matplotlib.pyplot as plt

import seaborn as sns

%matplotlib inline

seabornをインポートすることで,回帰分析とヒートマップを表示することが出来ます.

コード

まず,最小にデータをダウンロードします.

seabornには,いくつかの統計データが入っているため,以下のコードを書くことで,データを持ってくることが出来ます.

iris = sns.load_dataset("iris")

iris.head()#上位5つのデータを表示

すると,以下のグラフが表示されます.

sepal_lengthsepal_widthpetal_lengthpetal_widthspecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa

回帰分析のグラフを表示するためには,lmplot()を使います.

lmplot()を使うことで,凡例や表示の変更が出来るので便利です.

ただ単に,回帰分析のグラフだけを表示させたい場合は,regplot()を使うと,書くことが出来ます.

sns.lmplot("petal_length","petal_width",iris,hue="species",markers=["x","o","<"])
回帰分析のグラフ

『iris』のデータから,x軸に『petal_length』,y軸に『petal_width』を指定します.

そして,凡例を表示させるために,hue=”species”と書きます.

markers=[“x”,”o”,”<“]と書くことで,プロットするときの形状を変えることが出来ます.

学習内容2-ヒートマップ-

コード

まず,irisのデータに,新たにインデックスを指定します.

#ヒートマップに表すための準備を行う
iris["number"] = iris.index#新たに,データ数を表に追加する

#実行
iris

すると,以下の表が表示され,『number』というタイトルが追加されています.

sepal_lengthsepal_widthpetal_lengthpetal_widthspeciesnumber
05.13.51.40.2setosa0
14.93.01.40.2setosa1
24.73.21.30.2setosa2
34.63.11.50.2setosa3
45.03.61.40.2setosa4

そして,ピボットテーブルに変換します.

#表を並び替える x軸にnumber,y軸にspecies,使うデータをpetal_length(花びらの長さ)とする.
iris_dframe = iris.pivot("number","species","petal_length")

#実行
iris_dframe.head()
speciessetosaversicolorvirginica
number
01.4NaNNaN
11.4NaNNaN
21.3NaNNaN
31.5NaNNaN
41.4NaNNaN

3種類のデータを1列に並べているため,最初は『setosa』のデータのみしかありません.

ちなみに,以下の様に,tail()と書くと,下から5つのデータが表示されます.

iris_dframe.tail()
speciessetosaversicolorvirginica
number
145NaNNaN5.2
146NaNNaN5.0
147NaNNaN5.2
148NaNNaN5.4
149NaNNaN5.1

そして,以下のコードを書くと,ヒートマップが表示されます.

sns.heatmap(iris_dframe)
ヒートマップ

ヒートマップを見ると,irisの種類によって,花びらの長さが違うことが明らかですね^^

終わりに

今回は,回帰分析とヒートマップについて,まとめてみましたが,

勉強した内容のごく一部しか紹介することが出来ませんでした.

もっと,詳しく知りたい場合は,Udemyの『実践Pythonデータサイエンス』

という動画を視聴することをお勧めします.

それでは・・・

Q &A

コメントを残す

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

CAPTCHA