Khoa học Dữ liệu - Ma trận Tương quan Thống kê


Ma trận tương quan

Ma trận là một mảng số được sắp xếp theo hàng và cột.

Ma trận tương quan chỉ đơn giản là một bảng thể hiện hệ số tương quan giữa các biến.

Ở đây, các biến được thể hiện trong hàng đầu tiên và trong cột đầu tiên:

Ma trận tương quan

Bảng trên đã sử dụng dữ liệu từ tập dữ liệu sức khỏe đầy đủ.

Quan sát:

  • Chúng tôi nhận thấy rằng Duration và Calorie_Burnage có liên quan chặt chẽ với nhau, với hệ số tương quan là 0,89. Điều này có ý nghĩa khi chúng ta tập luyện càng lâu thì lượng calo đốt cháy càng nhiều
  • Chúng tôi quan sát thấy rằng hầu như không có mối quan hệ tuyến tính nào giữa Average_Pulse và Calorie_Burnage (hệ số tương quan 0,02)
  • Chúng ta có thể kết luận rằng Average_Pulse không ảnh hưởng đến Calorie_Burnage không? Không. Chúng tôi sẽ trở lại để trả lời câu hỏi này sau!

Ma trận tương quan trong Python

Chúng ta có thể sử dụng corr()hàm trong Python để tạo ma trận tương quan. Chúng tôi cũng sử dụng round()hàm để làm tròn đầu ra thành hai số thập phân:

Thí dụ

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

Đầu ra:

Ma trận tương quan

Sử dụng Bản đồ nhiệt

Chúng ta có thể sử dụng Bản đồ nhiệt để Hình dung mối tương quan giữa các biến:

Bản đồ nhiệt tương quan

Hệ số tương quan càng gần với 1, các ô vuông càng xanh.

Hệ số tương quan càng gần -1, hình vuông càng nâu.


Sử dụng Seaborn để tạo bản đồ nhiệt

Chúng ta có thể sử dụng thư viện Seaborn để tạo một bản đồ nhiệt tương quan (Seaborn là một thư viện trực quan hóa dựa trên matplotlib):

Thí dụ

import matplotlib.pyplot as plt
import seaborn as sns

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()

Giải thích ví dụ:

  • Nhập seaborn thư viện dưới dạng sns.
  • Sử dụng bộ full_health_data.
  • Sử dụng sns.heatmap () để nói với Python rằng chúng ta muốn có một bản đồ nhiệt để trực quan hóa ma trận tương quan.
  • Sử dụng ma trận tương quan. Xác định các giá trị cực đại và cực tiểu của bản đồ nhiệt. Xác định rằng 0 là tâm.
  • Xác định màu với sns.diverging_palette. n = 500 nghĩa là chúng ta muốn có 500 loại màu trong cùng một bảng màu.
  • square = True có nghĩa là chúng ta muốn xem các hình vuông.