BETA

pythonで相関分析に挑戦

投稿日:2019-11-17
最終更新:2019-11-17

やったこと

機械学習、データ分析でよく聞く相関分析を体験してみた
お手本にした記事:【相関分析】相関係数行列の算出→ヒートマップ化

相関分析とは

xとyの関係を見ること xの値が増えるとyの値も増えるなら「正の相関あり」、
xの値が増えるとyの値が減るなら「負の相関あり」と言う
xの値が増える・減ってもyの値が左右されていないなら「相関なし」と言う

pythonで相関分析してみよう!

今回は「1日の最高気温(℃)」と「チョコレートの売上金額(千円)」を
負の相関があるように手作りでデータを作成しました

相関分析をするpandas、グラフを表示するライブラリをインポート
手作りデータを読み込む

読み込んだデータの「highest_temperature(x)」「sales_amount(y)」で相関を見ます
x-yグラフを表示(気温が上がると売り上げが下がっていますね~)

df.corr(method='pearson')で相関分析を実行
Out[7]の表に相関係数が出ました x-yの相関係数は「-0.889426」なので高い負の相関ありと言えます

おまけで相関関係が見やすくなる(らしい)ヒートマップも表示してみました

import numpy as np  
import pandas as pd  
import matplotlib.pyplot as plt  
from sklearn import linear_model, metrics, preprocessing  
import seaborn as sons  

data = pd.read_csv('./data_choco.csv', header=0)  
df = pd.DataFrame(data)  
pd.DataFrame(data)  
#-------データが表示される-------  

%matplotlib inline  
x = data['highest_temperature']  
y = data['sales_amount']  
plt.scatter(x,y)  
plt.show  
#-------グラフが表示される-------  

corr_mat = df.corr(method='pearson')  
df.corr(method='pearson')  
#-------相関係数が表示される-------  

sons.heatmap(corr_mat,  
            vmin=-1.0,  
            vmax=1.0,  
            center=0,  
            annot=True, # True:格子の中に値を表示  
            fmt='.1f',  
            xticklabels=corr_mat.columns.values,  
            yticklabels=corr_mat.columns.values  
           )  
plt.show()  
#-------ヒートマップが表示される-------  

相関分析を体験してみて

xとyのデータ列を決めるだけでグラフが表示されるのはすごい!!
ライブラリのこととか全然分からないけれど、図がぽんって出ると面白くていい
相関分析に使うデータをAPIやクローリングなどで作れるようになったら分析してるっぽくて理解が深まるのかも

技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
駆け出しエンジニアからエキスパートまで全ての方々のアウトプットを歓迎しております!
or 外部アカウントで 登録 / ログイン する
クランチについてもっと詳しく

この記事が掲載されているブログ

だいたい急に挑戦してゴールにたどり着かずに飽きる日々です

よく一緒に読まれる記事

0件のコメント

ブログ開設 or ログイン してコメントを送ってみよう
目次をみる
技術ブログをはじめよう Qrunch(クランチ)は、プログラマの技術アプトプットに特化したブログサービスです
or 外部アカウントではじめる
10秒で技術ブログが作れます!