DS korrelyatsiya
Korrelyatsiya
Korrelyatsiya ikki o‘zgaruvchi o‘rtasidagi bog‘liqlikni o‘lchaydi.
Funksiyaning vazifasi kiruvchi qiymatni (x) chiquvchi qiymatga (f(x)) aylantirish orqali qiymatni bashorat qilish ekanini aytib o‘tgan edik. Shuningdek, funksiya bashorat qilish uchun ikki o‘zgaruvchi o‘rtasidagi bog‘liqlikdan foydalanadi, deb ham aytishimiz mumkin.
Korrelyatsiya koeffitsiyenti
Korrelyatsiya koeffitsiyenti ikki o‘zgaruvchi o‘rtasidagi bog‘liqlikni o‘lchaydi.
Korrelyatsiya koeffitsiyenti hech qachon -1 dan kichik yoki 1 dan katta bo‘la olmaydi.
- 1 = o‘zgaruvchilar o‘rtasida mukammal chiziqli bog‘liqlik bor (Average_Pulse va Calorie_Burnage kabi)
- 0 = o‘zgaruvchilar o‘rtasida chiziqli bog‘liqlik yo‘q
- -1 = o‘zgaruvchilar o‘rtasida mukammal manfiy chiziqli bog‘liqlik bor (masalan, kamroq soat ishlash mashg‘ulot davomida ko‘proq kaloriya sarflanishiga olib keladi)
Mukammal chiziqli bog‘liqlikka misol (korrelyatsiya koeffitsiyenti = 1)
Average_Pulse va Calorie_Burnage o‘rtasidagi bog‘liqlikni vizuallashtirish uchun nuqtali diagrammadan (scatterplot) foydalanamiz (biz sport soatining 10 ta kuzatuvdan iborat kichik ma’lumotlar to‘plamidan foydalandik).
Bu safar bizga nuqtali diagrammalar kerak, shuning uchun kind qiymatini "scatter" ga o‘zgartiramiz:
Misol
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='scatter')
plt.show()
O‘zingiz sinab ko‘ring »
Natija:
Avval ko‘rganimizdek, Average_Pulse va Calorie_Burnage o‘rtasida mukammal chiziqli bog‘liqlik mavjud.
Mukammal manfiy chiziqli bog‘liqlikka misol (korrelyatsiya koeffitsiyenti = -1)
Bu yerda biz o‘ylab topilgan ma’lumotlarni grafikda tasvirladik. x o‘qi mashg‘ulotdan oldin ishda ishlangan soatlar sonini ifodalaydi. y o‘qi — Calorie_Burnage.
Agar ko‘proq soat ishlasak, mashg‘ulotdan oldin charchab qolganimiz sababli odatda kamroq kaloriya sarflaymiz.
Bu yerda korrelyatsiya koeffitsiyenti -1 ga teng.
Misol
import pandas as pd
import matplotlib.pyplot as plt
negative_corr = {'Hours_Work_Before_Training': [10,9,8,7,6,5,4,3,2,1],
'Calorie_Burnage': [220,240,260,280,300,320,340,360,380,400]}
negative_corr = pd.DataFrame(data=negative_corr)
negative_corr.plot(x ='Hours_Work_Before_Training', y='Calorie_Burnage', kind='scatter')
plt.show()
O‘zingiz sinab ko‘ring »
Chiziqli bog‘liqlik yo‘qligiga misol (korrelyatsiya koeffitsiyenti = 0)
Bu yerda full_health_data to‘plamidagi Max_Pulse’ni Duration’ga nisbatan grafikda tasvirladik.
Ko‘rib turganingizdek, ikki o‘zgaruvchi o‘rtasida chiziqli bog‘liqlik yo‘q. Bu uzoqroq davom etgan mashg‘ulot yuqoriroq Max_Pulse’ga olib kelmasligini bildiradi.
Bu yerda korrelyatsiya koeffitsiyenti 0 ga teng.
Misol
import matplotlib.pyplot as plt
full_health_data.plot(x ='Duration', y='Max_Pulse', kind='scatter')
plt.show()
O‘zingiz sinab ko‘ring »
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
