วิทยาศาสตร์ข้อมูล- เมทริกซ์สหสัมพันธ์สถิติ
เมทริกซ์สหสัมพันธ์
เมทริกซ์คืออาร์เรย์ของตัวเลขที่จัดเรียงเป็นแถวและคอลัมน์
เมทริกซ์สหสัมพันธ์เป็นเพียงตารางที่แสดงค่าสัมประสิทธิ์สหสัมพันธ์ระหว่างตัวแปร
ในที่นี้ ตัวแปรจะแสดงในแถวแรกและในคอลัมน์แรก:
ตารางด้านบนใช้ข้อมูลจากชุดข้อมูลสุขภาพทั้งหมด
ข้อสังเกต:
- เราสังเกตว่า 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 หมายความว่าเราต้องการเห็นกำลังสอง