یک ماتریس آرایه‌ای از اعداد است که بصورت سطری و ستونی مرتب شده است. بعنوان مثال ماتریس A که در شکل زیر آنرا مشاهده می‌کنید دارای m سطر  و n ستون است.

یک ماتریس با m سطر و n ستون

ماتریس همبستگی به بیان ساده یک نمایش جدولی (یا ماتریسی است، با این فرق که نام سطرها و ستون‌ها نیز به آن افزوده شده) از ضرایب همبستگی بین متغیرهای دیتاست است. در جدول زیر نام متغیرها در سطرها و ستون‌ها درج شده است.

جدول فوق با توجه به دیتاست کامل سلامت بدست آمده است.

مشاهدات و نتایج با توجه به جدول:

  • مشاهده می‌گردد که دو متغیر طول تمرین (Duration) و مصرف کالری رابطه‌ی نزدیک و تنگاتنگی دارند. ضریب همبستگی این دو متغیر برابر است با 0.89. این عدد کاملن با معنی است، چون هر چقدر طول تمرین بیشتر می‌شود، ما کالری بیشتری مصرف خواهیم کرد
  • مشاهده می‌گردد که هیچ رابطه‌ی خطی بین متوسط ضربان قلب و مصرف کالری موجود نیست. ضریب همبستگی برابر است با 0.02 که بسیار به 0 نزدیک می‌باشد
  • آیا می‌توان نتیجه گرفت که متوسط ضربان قلب میزان مصرف کالری را تحت تاثیر قرار نمی‌دهد؟ خیر. در ادامه پاسخ دقیقی به این سؤال می‌دهیم

ماتریس همبستگی در پایتون

می‌توانیم از تابع ()corr در پایتون به منظور ساخت ماتریس‌های همبستگی استفاده نمائیم. همچنین می‌توانیم از تابع ()round به منظور گردکردن اعداد اعشاری تا هر عدد دلخواه (در اینجا 2) استفاده نمائیم.

مثال:

import pandas as pd

full_health_data = pd.read_csv("data.csv", header=0, sep=",")

Corr_Matrix = round(full_health_data.corr(),2)

print(Corr_Matrix)

خروجی کد فوق برابر است با:

استفاده از نقشه‌ی حرارتی

می‌توانیم از نقشه‌های حرارتی (Heatmap) به منظور مصورسازی (به تصویر کشیدن) همبستگی بین متغیرها استفاده نمائیم.

هرچقدر که ضریب همبستگی به عدد 1 نزدیک‌تر باشد، مربع‌های مربوط، سبزتر خواهند بود. همچنین هر چقدر ضریب همبستگی به 1- نزدیک‌تر شوند، مربع‌ها قهوه‌ای‌تر می‌شوند.

استفاده از سی‌بورن برای ساخت نقشه‌ی حرارتی

می‌توانیم از کتابخانه‌ی سی‌بورن (Seaborn) به منظور ساخت و یا تولید نقشه‌های حرارتی استفاده نمائیم (توجه کنید که سی‌بورن با استفاده از کتابخانه‌ی مت‌پلات‌لیب بدست آمده است؛ در واقع حالت توسعه یافته‌ای از آن می‌باشد).

مثال:

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

full_health_data = pd.read_csv("dataset.csv", header=0, sep=",")
correlation_full_health = full_health_data.corr()

axis_corr = sns.heatmap(
correlation_full_health,
vmin=-1, vmax=1, center=0,
cmap=sns.diverging_palette(50, 500, n=500),
square=True
)

plt.show()

اجرای کد فوق شکل زیر را بما خواهد داد:

توضیحات مثال:

  • ابتدا کتابخانه‌ی Seaborn را با نام مستعار sns وارد می‌کنیم
  • از دیتاست کامل سلامت استفاده می‌کنیم
  • از دستور ()sns.heatmap استفاده می‌کنیم تا به پایتون بگوئیم که می‌خواهیم یک نقشه‌ی حرارتی ماتریس همبستگی را به تصویر بکشد
  • از ماتریس همبستگی استفاده می‌کنیم. مقدار ماکسیمم و مینیمم مقادیر نقشه‌ی حرارتی را تعریف می‌کنیم. همچنین 0 را بعنوان مرکز کار در نظر می‌گیریم
  • با استفاده از کد sns.diverging_palette به تعریف رنگ‌ها می‌پردازیم. عبارت n=500 یعنی می‌خواهیم از 500 رنگ در یک پلت رنگی (جعبه‌ی رنگ‌های نقاشی) استفاده نمائیم
  • عبارت square = True به این معنی است که می‌خواهیم شکل‌های مربعی نمایش داده شود