วิทยาศาสตร์ข้อมูล- เมทริกซ์สหสัมพันธ์สถิติ


เมทริกซ์สหสัมพันธ์

เมทริกซ์คืออาร์เรย์ของตัวเลขที่จัดเรียงเป็นแถวและคอลัมน์

เมทริกซ์สหสัมพันธ์เป็นเพียงตารางที่แสดงค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างตัวแปร

ในที่นี้ ตัวแปรจะแสดงในแถวแรกและในคอลัมน์แรก:

เมทริกซ์สหสัมพันธ์

ตารางด้านบนใช้ข้อมูลจากชุดข้อมูลสุขภาพทั้งหมด

ข้อสังเกต:

  • เราสังเกตว่า Duration และ Calorie_Burnage มีความสัมพันธ์กันอย่างใกล้ชิด โดยมีค่าสัมประสิทธิ์สหสัมพันธ์ที่ 0.89 วิธีนี้สมเหตุสมผลเพราะยิ่งเราฝึกนานเท่าไหร่ เราก็ยิ่งเผาผลาญแคลอรีมากขึ้นเท่านั้น
  • เราสังเกตว่าแทบไม่มีความสัมพันธ์เชิงเส้นตรงระหว่าง Average_Pulse และ Calorie_Burnage (ค่าสัมประสิทธิ์สหสัมพันธ์ 0.02)
  • เราสามารถสรุปได้ว่า Average_Pulse ไม่มีผลกับ Calorie_Burnage หรือไม่ ไม่ เราจะกลับมาตอบคำถามนี้ในภายหลัง!

เมทริกซ์สหสัมพันธ์ใน Python

เราสามารถใช้corr()ฟังก์ชันใน Python เพื่อสร้างเมทริกซ์สหสัมพันธ์ เรายังใช้round()ฟังก์ชันเพื่อปัดเศษผลลัพธ์เป็นทศนิยมสองตำแหน่ง:

ตัวอย่าง

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

เอาท์พุท:

เมทริกซ์สหสัมพันธ์

การใช้แผนที่ความร้อน

เราสามารถใช้ Heatmap เพื่อแสดงภาพความสัมพันธ์ระหว่างตัวแปรได้:

แผนที่ความร้อนสหสัมพันธ์

ยิ่งค่าสัมประสิทธิ์สหสัมพันธ์ใกล้ 1 มากเท่าไร สี่เหลี่ยมสีเขียวก็จะยิ่งเขียวมากขึ้น

ยิ่งค่าสัมประสิทธิ์สหสัมพันธ์ใกล้ -1 ยิ่งทำให้สี่เหลี่ยมสีน้ำตาลมากขึ้น


ใช้ Seaborn เพื่อสร้างแผนที่ความร้อน

เราสามารถใช้ห้องสมุด Seaborn เพื่อสร้างแผนที่ความร้อนที่มีความสัมพันธ์ (Seaborn เป็นไลบรารีการสร้างภาพตาม matplotlib):

ตัวอย่าง

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

ตัวอย่างที่อธิบาย:

  • นำเข้าห้องสมุด seaborn เป็น sns
  • ใช้ชุด full_health_data
  • ใช้ sns.heatmap() เพื่อบอก Python ว่าเราต้องการให้แผนที่ความร้อนแสดงภาพเมทริกซ์สหสัมพันธ์
  • ใช้เมทริกซ์สหสัมพันธ์ กำหนดค่าสูงสุดและต่ำสุดของแผนที่ความหนาแน่น กำหนดให้ 0 เป็นจุดศูนย์กลาง
  • กำหนดสีด้วย sns.diverging_palette n=500 หมายความว่าเราต้องการสี 500 ชนิดในจานสีเดียวกัน
  • square = True หมายความว่าเราต้องการเห็นกำลังสอง