【こつこつPython】Pythonで相関係数を取得する方法|numpy.corrcoef

corrcoefサムネイル
こつこつPython

この記事の執筆・監修

キノコード
キノコード    

テクノロジーアンドデザインカンパニー株式会社のCEO。
日本最大級のプログラミング教育のYouTubeチャンネル「キノコード」や、プログラミング学習サービス「キノクエスト」を運営。
著書「あなたの仕事が一瞬で片付くPythonによる自動化仕事術」や、雑誌「日経ソフトウエア」や「シェルスクリプトマガジン」への寄稿など実績多数。

Pythonで相関係数を取得する方法

Pythonで相関係数を取得する方法です。
使用するのはPythonのnumpyライブラリのcorrcoef関数です。
相関係数は1に近いと正の相関があり、-1に近いと負の相関があり、0に近いと相関があまりないことを意味します。

import numpy as np

1行目に身長のデータ、2行目に体重のデータが入った2次元配列を使用します。

a = np.array([[150, 160, 170, 180, 190], 
              [55, 60, 65, 60, 70]])
a

まず、corrcoef関数を使用して、身長と体重の相関係数を取得してみましょう。
引数に相関係数を求めたい配列を指定します。
実行します。

np.corrcoef(a)

身長と体重の相関係数を取得できました。
なお、結果は行列で返され、対角成分は同じデータの相関係数なので基本的に1が入ります。

また、引数に要素数が同じ配列のデータを追加できます。
腹囲のデータが入った配列を追加してみます。
実行します。

b = np.array([60, 85, 55, 60, 70])
np.corrcoef(a, b)

3つのデータの相関係数を取得できました。
1行2列成分には身長と体重の相関係数が入り、1行3列成分には身長と腹囲の相関係数が入り、2行3列成分には体重と腹囲の相関係数が入ります。

Python学習サービス「キノクエスト」のご紹介

キノコードでは、Pythonを習得するためのPython学習サービス「キノクエスト」を運営しています。
キノクエストには、学習カリキュラムがあり、学習順番に悩むことなく学習を進められます。
月額1,990円と本1冊分の値段です。

キノクエストの特徴は下記の通りです。
・Python学習をしている仲間が集まるコミュニティがある
・1000問以上の問題を解いてプログラミングを習得
・環境構築不要ですぐに始められる
・動画と連動しているので、インプットもできる
・月額1,990円で、コミュニティもセット

キノクエストを詳しく知りたい方は、紹介ページをご覧ください。

▼キノクエストの紹介ページはこちら▼
https://kino-code.com/kq_service_a/

未経験からはじめるPython学習「キノクエスト」 キノクエスト
  • スキルアップしたいけど何からはじめればよいかわからない…
  • プログラミングスクールに入りたいけど料金が高い…
  • プログラミングを学んでも業務やキャリアに活かせるか不安…

キノクエストは、このような悩みを持つ方にぴったりのプログラミング学習サービスです。
国内最大級のプログラミング学習系YouTubeチャンネル「キノコード」が提供しているから、未経験者にもわかりやすく質の高い学習体験を実感していただけます。

キノクエスト