DS qiyalik va kesishma
Qiyalik va kesishma nuqtasi
Endi funksiyamizning qiyaligi va kesishma nuqtasini qanday topganimizni tushuntiramiz:
f(x) = 2x + 80
Quyidagi rasmda qiyalik (Slope) — chiziq qanchalik tik ekanini ko‘rsatadi — va kesishma nuqtasi (Intercept) — x = 0 bo‘lgandagi y ning qiymati (diagonal chiziq vertikal o‘qni kesib o‘tadigan nuqta) ko‘rsatilgan. Qizil chiziq — oldingi sahifadagi ko‘k chiziqning davomi.
Qiyalikni topish
Qiyalik o‘rtacha puls bittaga oshganda sarflangan kaloriya qanchaga oshishi sifatida aniqlanadi. U diagonal chiziq qanchalik "tik" ekanini bildiradi.
Qiyalikni grafikdagi ikki nuqtaning proporsional farqi yordamida topishimiz mumkin.
- Agar o‘rtacha puls 80 bo‘lsa, sarflangan kaloriya 240 ga teng
- Agar o‘rtacha puls 90 bo‘lsa, sarflangan kaloriya 260 ga teng
Ko‘rib turganingizdek, o‘rtacha puls 10 ga oshsa, sarflangan kaloriya 20 ga oshadi.
Slope = 20/10 = 2
Qiyalik 2 ga teng.
Matematik jihatdan qiyalik quyidagicha aniqlanadi:
Slope = f(x2) - f(x1) / x2-x1
f(x2) = Calorie_Burnage’ning ikkinchi kuzatuvi = 260
f(x1) = Calorie_Burnage’ning birinchi kuzatuvi = 240
x2 = Average_Pulse’ning ikkinchi kuzatuvi = 90
x1 = Average_Pulse’ning birinchi kuzatuvi = 80
Slope = (260-240) / (90 - 80) = 2
Kuzatuvlarni to‘g‘ri tartibda belgilashda izchil bo‘ling! Aks holda bashorat to‘g‘ri chiqmaydi!
Qiyalikni Python yordamida topish
Qiyalikni quyidagi kod bilan hisoblang:
Misol
def slope(x1, y1, x2, y2):
s = (y2-y1)/(x2-x1)
return s
print (slope(80,240,90,260))
O‘zingiz sinab ko‘ring »
Kesishma nuqtasini topish
Kesishma nuqtasi funksiyaning Calorie_Burnage’ni bashorat qilish qobiliyatini aniq sozlash uchun ishlatiladi.
Kesishma nuqtasi — diagonal chiziq to‘liq chizilganda y o‘qini kesib o‘tadigan nuqta.
Kesishma nuqtasi — x = 0 bo‘lgandagi y ning qiymati.
Bu yerda ko‘rib turibmizki, agar o‘rtacha puls (x) nolga teng bo‘lsa, sarflangan kaloriya (y) 80 ga teng.
Demak, kesishma nuqtasi 80 ga teng.
Ba’zan kesishma nuqtasi amaliy ma’noga ega bo‘ladi, ba’zan esa yo‘q.
O‘rtacha pulsning nolga teng bo‘lishi mantiqqa to‘g‘ri keladimi?
Yo‘q, bunday holatda siz o‘lgan bo‘lar edingiz va, albatta, hech qanday kaloriya sarflamas edingiz.
Biroq matematik funksiya Calorie_Burnage’ni to‘g‘ri bashorat qila olishi uchun kesishma nuqtasini ham kiritishimiz kerak.
Matematik funksiyaning kesishma nuqtasi amaliy ma’noga ega bo‘lishi mumkin bo‘lgan boshqa misollar:
- Marketing xarajatlari yordamida keyingi yilgi daromadni bashorat qilish (agar marketing xarajatlari nolga teng bo‘lsa, keyingi yili qancha daromad olamiz?). Kompaniya marketingga pul sarflamasa ham, baribir qandaydir daromad oladi, deb taxmin qilish mumkin.
- Tezlikka bog‘liq yoqilg‘i sarfi (tezlik 0 mil/soat bo‘lganda qancha yoqilg‘i sarflaymiz?). Benzinda yuradigan avtomobil salt ishlab turganda ham yoqilg‘i sarflaydi.
Python yordamida qiyalik va kesishma nuqtasini topish
np.polyfit() funksiyasi qiyalik va kesishma nuqtasini qaytaradi.
Quyidagi kod bilan davom etsak, funksiyadan ham qiyalikni, ham kesishma nuqtasini olishimiz mumkin.
Misol
import pandas as pd
import numpy as np
health_data = pd.read_csv("data.csv", header=0, sep=",")
x = health_data["Average_Pulse"]
y = health_data["Calorie_Burnage"]
slope_intercept = np.polyfit(x,y,1)
print(slope_intercept)
O‘zingiz sinab ko‘ring »
Misol izohi:
- health_data’dan Average_Pulse (x) va Calorie_Burnage (y) o‘zgaruvchilarini ajratib oling.
- np.polyfit() funksiyasini chaqiring.
- Funksiyaning oxirgi parametri funksiya darajasini belgilaydi, bu holatda u "1" ga teng.
Maslahat: chiziqli funksiyalar = 1-darajali funksiya. Bizning misolimizda funksiya chiziqli, ya’ni 1-darajali. Bu barcha koeffitsiyentlar (sonlar) birinchi darajada ekanini anglatadi.
Endi biz qiyalik (2) va kesishma nuqtasini (80) hisoblab chiqdik. Matematik funksiyani quyidagicha yozishimiz mumkin:
Calorie_Burnage’ni matematik ifoda yordamida bashorat qiling:
f(x) = 2x + 80
Topshiriq:
Endi o‘rtacha puls 135 bo‘lganda sarflangan kaloriyani bashorat qilmoqchimiz.
Kesishma nuqtasi konstanta ekanini unutmang. Konstanta — o‘zgarmaydigan son.
Endi kiruvchi x qiymatini 135 bilan almashtirishimiz mumkin:
f(135) = 2 * 135 + 80 = 350
Agar o‘rtacha puls 135 bo‘lsa, sarflangan kaloriya 350 ga teng.
Matematik funksiyani Pythonda aniqlash
Mana aynan o‘sha matematik funksiya, faqat Pythonda. Funksiya x kiruvchi qiymat bo‘lganda 2*x + 80 ni qaytaradi:
x ni 140 va 150 bilan almashtirib ko‘ring.
Pythonda yangi grafik chizish
Bu yerda avvalgi grafikning o‘zini chizamiz, lekin o‘qlarni biroz formatlaymiz.
Endi y o‘qining maksimal qiymati 400, x o‘qiniki esa 150:
Misol
import matplotlib.pyplot as plt
health_data.plot(x ='Average_Pulse', y='Calorie_Burnage', kind='line'),
plt.ylim(ymin=0, ymax=400)
plt.xlim(xmin=0, xmax=150)
plt.show()
O‘zingiz sinab ko‘ring »
Misol izohi
- matplotlib kutubxonasining pyplot modulini import qiling
- Average_Pulse ma’lumotlarini Calorie_Burnage’ga nisbatan grafikda tasvirlang
kind='line'qanday turdagi grafik kerakligini bildiradi. Bu yerda bizga to‘g‘ri chiziq kerak- plt.ylim() va plt.xlim() o‘q qaysi qiymatdan boshlanib, qaysi qiymatda tugashini belgilaydi.
- plt.show() natijani ko‘rsatadi
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
