Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Nuqtali grafik (scatter)
- 2.2. Korrelyatsiya shakli
- 2.3. Outlier ko'rish
- 2.4. Guruh (rang bilan)
- 2.5. Uchinchi o'lcham (o'lcham, rang)
- 2.6. Scatter amaliyoti
- 2.7. Scatter tuzoqlari
- 2.8. Scatter — ikki o'zgaruvchan aloqasi
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Nuqtali grafik
- Misol 2 — Korrelyatsiya shakli
- Misol 3 — Outlier ko'rish
- Misol 4 — Guruh (rang)
- 5. To'g'ri va noto'g'ri tushunishlar
- 6. Keng tarqalgan xatolar va yechimlari
- 7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 8. Eng yaxshi amaliyotlar
- 9. Amaliy topshiriq
- Xulosa
5.4-dars: Nuqtali grafik (scatter)
5-QISM — VIZUALIZATSIYA · 4-dars
1. Kirish va motivatsiya
Nuqtali grafik (scatter plot) — ikki o'zgaruvchan orasidagi aloqani ko'rsatishning eng yaxshi usuli. Har nuqta bitta kuzatishning ikki qiymati (masalan bir odamning bo'yi va vazni). Nuqtalar naqshi aloqani ko'rsatadi: yuqoriga qarab ko'tarilsa — musbat korrelyatsiya, pastga — manfiy, tarqoq — aloqa yo'q. 4.9-darsda korrelyatsiya raqamini (r) ko'rdik; scatter plot esa uning shaklini ko'rsatadi (Anscombe: bir xil r, turli shakl — scatter zarur). Nuqtali grafik korrelyatsiya, guruh (klaster), va outlier'ni bir vaqtda ochadi. Nega muhim? (1) Aloqa — korrelyatsiya shakli (chiziqli, egri); (2) Outlier — chetdagi nuqta; (3) Guruh — klaster (rang bilan). Bu dars nuqtali grafikni chuqur o'rgatadi — ikki o'zgaruvchan aloqasi.
Nuqtali grafik (scatter) — ikki o'zgaruvchan aloqasi: ax.scatter (har nuqta — bir kuzatish, x va y), korrelyatsiya shakli (ko'tariluvchi musbat, pasayuvchi manfiy, tarqoq yo'q), outlier (chetdagi nuqta), guruh (rang bilan — c=), o'lcham (s= — uchinchi o'lcham), trend chiziq (regressiya). Foydalanish: aloqa, outlier, guruh. Bu 4.9 (korrelyatsiya), 5.1 (Matplotlib) bilan bog'liq. Scatter — ikki o'zgaruvchan. Aloqa. Nuqta.
Real vaziyat. Data Scientist reklama va savdo aloqasini ko'rsatdi: ax.scatter(reklama, savdo) — nuqtalar yuqoriga (musbat korrelyatsiya — 4.9; ko'p reklama → ko'p savdo). Outlier: bir nuqta chetda (ko'p reklama, kam savdo — xato yoki maxsus holat). Guruh: shahar bo'yicha rang (c=shahar_kod — Toshkent ko'k, Samarqand qizil; klaster ko'rinadi). Shakl: chiziqli (to'g'ri) yoki egri (nochiziqli — 4.9). Scatter aloqani ko'rsatdi (korrelyatsiya shakli, outlier, guruh — r raqami yashiradi). Nuqtali grafik — aloqa ko'zi (korrelyatsiya, outlier).
Bu darsda nuqtali grafikni o'rganamiz.
Bu darsda:
- Nuqtali grafik (scatter)
- Korrelyatsiya shakli
- Outlier ko'rish
- Guruh (rang bilan)
- Uchinchi o'lcham (o'lcham, rang)
- Scatter amaliyoti
- Scatter tuzoqlari
- Amaliy: scatter modeli
ℹ Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
2. Nazariya — chuqur tushuntirish
2.1. Nuqtali grafik (scatter)
Har nuqta — bir kuzatish:
import matplotlib.pyplot as plt
reklama = [10, 20, 30, 40, 50]
savdo = [100, 180, 250, 340, 480]
fig, ax = plt.subplots()
ax.scatter(reklama, savdo) # har nuqta — (reklama, savdo)
ax.set_xlabel("Reklama")
ax.set_ylabel("Savdo") Nuqtali grafik (scatter) — har nuqta bir kuzatish: ax.scatter(x, y) (har nuqta — bitta kuzatishning ikki qiymati — x va y; masalan bir kun reklama va savdo). Sabab: ikki o'zgaruvchan aloqasi (x va y qanday bog'liq — nuqtalar naqshi); scatter nuqtalarni ko'rsatadi (bog'lamaydi — chiziq emas; har nuqta mustaqil kuzatish). ax.scatter(x, y) (nuqtalar — aloqa). Chiziqli (plot) — vaqt/uzluksiz; scatter — ikki o'zgaruvchan aloqa (bog'lamaydi). Scatter — nuqta (scatter; ikki o'zgaruvchan). Nuqta. Aloqa.
2.2. Korrelyatsiya shakli
Nuqtalar naqshi:
KORRELYATSIYA SHAKLI (scatter):
YUQORIGA (/) → musbat korrelyatsiya (x oshsa y ham)
PASTGA (\) → manfiy korrelyatsiya (x oshsa y kamayadi)
TARQOQ (::) → aloqa yo'q (r ~ 0)
EGRI (∪) → nochiziqli (Pearson kam, lekin aloqa bor)
Anscombe 4.9-bob: bir xil r, turli shakl — scatter zarur!Korrelyatsiya shakli — nuqtalar naqshi: yuqoriga (nuqtalar ko'tariladi — musbat korrelyatsiya; x oshsa y ham), pastga (manfiy — x oshsa y kamayadi), tarqoq (naqsh yo'q — aloqa yo'q, r~0), egri (nochiziqli — U shakli; Pearson kam ko'rsatadi, lekin aloqa bor — 4.9). Sabab: scatter korrelyatsiya shaklini ko'rsatadi (r raqam — 4.9; scatter — shakl: chiziqli? egri? tarqoq?); Anscombe (bir xil r, turli shakl — scatter zarur, 4.9). Nuqtalar yo'nalishi (aloqa), zichligi (kuch — jips musbat). Korrelyatsiya shakli — nuqtalar naqshi (musbat/manfiy/tarqoq/egri). Shakl. Anscombe.
2.3. Outlier ko'rish
Outlier ko'rish — chetdagi nuqta: scatter outlierni (chet qiymat — asosiy naqshdan uzoq) darrov ko'rsatadi (bir nuqta chetda — boshqalardan uzoq). Sabab: outlier raqamda yashirin (o'rtacha, r — buzadi, sezilmaydi — 4.3/4.9); scatter ko'rsatadi (chetdagi nuqta — aniq; xato yoki maxsus holat). Misol: bo'y-vazn scatter — bir nuqta juda past vazn baland bo'y (outlier — xato yoki kasallik). Outlier tekshirish (scatter — ko'r; keyin tozalash 6-qism yoki tahlil). Scatter outlier'ni naqshga nisbatan (asosiy guruhdan uzoq). Outlier ko'rish — chetdagi nuqta (scatter). Chet. Tekshirish.
2.4. Guruh (rang bilan)
Klaster — rang:
import matplotlib.pyplot as plt
# c — rang (guruh bo'yicha)
fig, ax = plt.subplots()
ax.scatter(x, y, c=guruh_kodlari) # har guruh — boshqa rang
# yoki alohida scatter har guruhga (legend bilan)
ax.scatter(x1, y1, label="Toshkent")
ax.scatter(x2, y2, label="Samarqand")
ax.legend() Guruh (rang bilan) — klaster: ax.scatter(x, y, c=guruh) (har guruh boshqa rang), yoki alohida scatter har guruhga (label + legend). Sabab: ma'lumot guruhlardan bo'lsa (shahar, kategoriya — har guruh o'z naqshi); rang guruhni ajratadi (klaster ko'rinadi — bir guruh bir joyda jamlangan). Klaster (guruh — rang bilan; ML — 21-qism klasterlash); rang uchinchi o'lcham (x, y + guruh). Legend (qaysi rang qaysi guruh). Guruh — rang (c=; klaster). Rang. Klaster.
2.5. Uchinchi o'lcham (o'lcham, rang)
Uchinchi o'lcham (o'lcham, rang) — ko'p o'zgaruvchan: scatter ikki o'lcham (x, y); qo'shimcha o'zgaruvchan rang (c=) yoki o'lcham (s= — nuqta kattaligi). Sabab: ba'zan uchta+ o'zgaruvchan (x, y, va yana biri); rang (c=daromad — issiq/sovuq), o'lcham (s=aholi — katta nuqta = katta shahar; bubble chart). Bubble chart (x, y, o'lcham — uch o'zgaruvchan). Ehtiyot: ko'p o'lcham chalkash (2-3 yetadi; ko'p — o'qib bo'lmaydi). Uchinchi o'lcham — rang (c), o'lcham (s). Ko'p o'zgaruvchan. Bubble.
2.6. Scatter amaliyoti
Scatter amaliyoti: ax.scatter(x, y) (ikki o'zgaruvchan); korrelyatsiya shakli (musbat/manfiy/egri — 4.9); outlier (chetdagi nuqta); guruh (c= rang — klaster); o'lcham (s= — uchinchi o'lcham); trend chiziq (regressiya — np.polyfit yoki seaborn regplot 5.7); bezash (title/label). Tuzoqlar: ko'p nuqta (overplotting — shaffoflik alpha), rang chalkash (ko'p guruh), vaqtga scatter (chiziqli), korrelyatsiya=sabab 4.10-bob. Amaliyot — scatter, shakl, outlier, guruh. Aloqa. Nuqta.
2.7. Scatter tuzoqlari
Scatter asosiy tuzoqlari: overplotting (ko'p nuqta — nuqtalar ustma-ust (qora dog'; zichlik ko'rinmaydi); alpha=0.3 (shaffof — zichlik ko'rinadi) yoki hexbin/2D histogram); korrelyatsiya = sabab (scatter musbat — lekin sabab emas, 4.10; uchinchi omil); rang chalkash (ko'p guruh — ranglar ajratib bo'lmaydi; kam guruh yoki farqli rang); vaqtga scatter (vaqt qatori — chiziqli (uzluksiz); scatter — ikki o'zgaruvchan aloqa); o'q boshi (scatter — o'q boshi moslashuvchan (0 shart emas — aloqa, balandlik emas); lekin halol); ko'p o'lcham (rang + o'lcham + shakl — chalkash; 2-3 yetadi); nochiziqli (egri aloqa — scatter ko'rsatadi; Pearson kam, Spearman/grafik — 4.9); trend chiziqsiz (aloqa noaniq — regressiya chiziq yordam). Sabab: scatter zichlik/aloqa nozik (overplotting, korrelyatsiya=sabab, ko'p o'lcham — chalkash yoki xato). Yechim: alpha (overplotting), sabab emas, kam guruh, trend chiziq. Tuzoqlar — overplotting, sabab, rang, o'lcham.
2.8. Scatter — ikki o'zgaruvchan aloqasi
Scatter asosiy g'oyasi — ikki o'zgaruvchan aloqasi: har nuqta bir kuzatishning ikki qiymati (x, y); nuqtalar naqshi aloqani ko'rsatadi (korrelyatsiya shakli, guruh, outlier — bir vaqtda). ax.scatter(x, y) (nuqtalar — bog'lamaydi), korrelyatsiya shakli (musbat ko'tariluvchi, manfiy pasayuvchi, tarqoq yo'q, egri nochiziqli; Anscombe — r raqam shaklni yashiradi, scatter zarur 4.9), outlier (chetdagi nuqta — darrov), guruh (rang c= — klaster), uchinchi o'lcham (rang/o'lcham s= — bubble). Foydalanish: aloqa (korrelyatsiya shakli — chiziqli/egri), outlier (chet — tozalash 6-qism), guruh (klaster — ML 21-qism). Ehtiyot: overplotting (alpha), korrelyatsiya ≠ sabab 4.10-bob, vaqtga chiziqli 5.2-bob. Data Science'da keng (korrelyatsiya ko'r — EDA 9-qism; ML — xususiyat aloqa, klaster). Bu 4.9 (korrelyatsiya — r raqam) davomi (scatter — shakl) va 5.7 (seaborn — regplot) bilan. Scatter — ikki o'zgaruvchan aloqasi (nuqta, korrelyatsiya shakli). Aloqa. Shakl.
3. Tez ma'lumotnoma
import matplotlib.pyplot as plt
# NUQTALI GRAFIK (ikki o'zgaruvchan aloqasi):
fig, ax = plt.subplots()
ax.scatter(x, y)
# KORRELYATSIYA SHAKLI (nuqtalar naqshi):
# yuqoriga (/) musbat · pastga (\) manfiy
# tarqoq (::) yo'q · egri (∪) nochiziqli
# Anscombe: bir xil r, turli shakl (scatter zarur)
# GURUH (rang):
ax.scatter(x, y, c=guruh_kodlari) # rang bo'yicha
ax.scatter(x1, y1, label="A"); ax.legend() # alohida
# UCHINCHI O'LCHAM:
ax.scatter(x, y, c=daromad, s=aholi) # rang + o'lcham (bubble)
# OVERPLOTTING (ko'p nuqta):
ax.scatter(x, y, alpha=0.3) # shaffof (zichlik)
QOIDA: aloqa (sabab emas 4.10) · alpha (ko'p nuqta) · vaqt — chiziqliScatter xulosasi
Nuqtali grafik (scatter) — ikki o'zgaruvchan aloqasi
Har nuqta — bir kuzatish (x, y)
Korrelyatsiya shakli — musbat/manfiy/tarqoq/egri (Anscombe)
Outlier (chetdagi nuqta) · guruh (rang c=)
Overplotting — alpha (shaffof, zichlik)4. Batafsil misollar
Misollar real matplotlib bilan (Agg — grafik xususiyatlari matn bilan tekshiriladi) ishlaydi.
Misol 1 — Nuqtali grafik
"""Nuqtali grafik (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
reklama = [10, 20, 30, 40, 50]
savdo = [100, 180, 250, 340, 480]
fig, ax = plt.subplots()
ax.scatter(reklama, savdo)
print("=== 1. Nuqtalar ===")
ofsets = ax.collections[0].get_offsets()
print(f" nuqtalar soni: {len(ofsets)}")
print("\n=== 2. Birinchi nuqta ===")
print(f" (reklama, savdo): ({int(ofsets[0][0])}, {int(ofsets[0][1])})")
print("\n=== 3. Musbat aloqa ===")
print(f" reklama oshsa savdo ham (yuqoriga)")
print("\n=== 4. Bezash ===")
ax.set_xlabel("Reklama")
ax.set_ylabel("Savdo")
print(f" xlabel: {ax.get_xlabel()}")
plt.close(fig)
print(" ⭐ Scatter — ikki o'zgaruvchan (nuqtalar)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Nuqtalar ===
nuqtalar soni: 5
=== 2. Birinchi nuqta ===
(reklama, savdo): (10, 100)
=== 3. Musbat aloqa ===
reklama oshsa savdo ham (yuqoriga)
=== 4. Bezash ===
xlabel: Reklama
⭐ Scatter — ikki o'zgaruvchan (nuqtalar)Nima ko'rsatdi: 2.1-bo'lim.
Misol 2 — Korrelyatsiya shakli
"""Korrelyatsiya shakli (real numpy/matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
def main() -> None:
np.random.seed(0)
x = np.arange(50)
print("=== 1. Musbat ===")
y_musbat = x + np.random.normal(0, 5, 50)
r1 = np.corrcoef(x, y_musbat)[0, 1]
print(f" r: {round(r1, 2)} (yuqoriga — musbat)")
print("\n=== 2. Manfiy ===")
y_manfiy = -x + np.random.normal(0, 5, 50)
r2 = np.corrcoef(x, y_manfiy)[0, 1]
print(f" r: {round(r2, 2)} (pastga — manfiy)")
print("\n=== 3. Aloqa yo'q ===")
y_yoq = np.random.normal(0, 10, 50)
r3 = np.corrcoef(x, y_yoq)[0, 1]
print(f" r: {round(r3, 2)} (tarqoq — yo'q)")
print("\n=== 4. Scatter shaklni ko'rsatadi ===")
fig, ax = plt.subplots()
ax.scatter(x, y_musbat)
print(f" nuqtalar: {len(ax.collections[0].get_offsets())}")
plt.close(fig)
print(" ⭐ Korrelyatsiya shakli — nuqtalar naqshi")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Musbat ===
r: 0.92 (yuqoriga — musbat)
=== 2. Manfiy ===
r: -0.95 (pastga — manfiy)
=== 3. Aloqa yo'q ===
r: -0.14 (tarqoq — yo'q)
=== 4. Scatter shaklni ko'rsatadi ===
nuqtalar: 50
⭐ Korrelyatsiya shakli — nuqtalar naqshiNima ko'rsatdi: 2.2-bo'lim.
Misol 3 — Outlier ko'rish
"""Outlier ko'rish (real numpy/matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
def main() -> None:
np.random.seed(0)
x = np.arange(30)
y = x * 2 + np.random.normal(0, 3, 30)
# outlier qo'shish
x_all = np.append(x, 15)
y_all = np.append(y, 100) # chetdagi nuqta
print("=== 1. Ma'lumot ===")
print(f" nuqtalar: {len(x_all)} (1 outlier bilan)")
print("\n=== 2. Outlier (y=100) ===")
print(f" eng katta y: {int(y_all.max())} (asosiy naqshdan uzoq)")
print("\n=== 3. Scatter ===")
fig, ax = plt.subplots()
ax.scatter(x_all, y_all)
print(f" chizildi: {len(ax.collections[0].get_offsets())} nuqta")
print("\n=== 4. Outlier ta'siri ===")
r_bilan = np.corrcoef(x_all, y_all)[0, 1]
r_siz = np.corrcoef(x, y)[0, 1]
print(f" r (outlier bilan): {round(r_bilan, 2)}, r (siz): {round(r_siz, 2)}")
plt.close(fig)
print(" ⭐ Scatter — outlier darrov ko'rinadi")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Ma'lumot ===
nuqtalar: 31 (1 outlier bilan)
=== 2. Outlier (y=100) ===
eng katta y: 100 (asosiy naqshdan uzoq)
=== 3. Scatter ===
chizildi: 31 nuqta
=== 4. Outlier ta'siri ===
r (outlier bilan): 0.8, r (siz): 0.98
⭐ Scatter — outlier darrov ko'rinadiNima ko'rsatdi: 2.3-bo'lim.
Misol 4 — Guruh (rang)
"""Guruh: rang bilan (real matplotlib)."""
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
def main() -> None:
fig, ax = plt.subplots()
print("=== 1. Ikki guruh ===")
ax.scatter([1, 2, 3], [10, 12, 11], label="Toshkent")
ax.scatter([1, 2, 3], [20, 22, 21], label="Samarqand")
ax.legend()
print(f" guruhlar (collections): {len(ax.collections)}")
print("\n=== 2. Legend ===")
yorliqlar = [t.get_text() for t in ax.get_legend().get_texts()]
print(f" yorliqlar: {yorliqlar}")
print("\n=== 3. Guruhlar ajralgan ===")
print(" har guruh boshqa rang (klaster ko'rinadi)")
print("\n=== 4. Tushuntirish ===")
print(" rang — guruh (klaster, uchinchi o'lcham)")
plt.close(fig)
print(" ⭐ Guruh — rang (klaster)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Ikki guruh ===
guruhlar (collections): 2
=== 2. Legend ===
yorliqlar: ['Toshkent', 'Samarqand']
=== 3. Guruhlar ajralgan ===
har guruh boshqa rang (klaster ko'rinadi)
=== 4. Tushuntirish ===
rang — guruh (klaster, uchinchi o'lcham)
⭐ Guruh — rang (klaster)Nima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "scatter vaqt uchun" | Ikki o'zgaruvchan aloqasi (vaqt — chiziqli) |
| "r raqam yetarli" | Scatter shakli (Anscombe) |
| "scatter — sabab" | Aloqa (korrelyatsiya ≠ sabab 4.10) |
| "outlier raqamda" | Scatter ko'rsatadi |
| "ko'p nuqta OK" | Overplotting (alpha) |
| "nuqtalarni bog'lash" | scatter (bog'lamaydi) |
| "guruh bir rang" | Rang bilan (klaster) |
| "o'q boshi 0 shart" | Aloqa (moslashuvchan) |
6. Keng tarqalgan xatolar va yechimlari
1. Overplotting
ax.scatter(x, y) # 10000 nuqta (qora dog') # ⚠️
ax.scatter(x, y, alpha=0.3) # shaffof (zichlik) # ✅2. Korrelyatsiya = sabab
# scatter musbat → sabab deb # ⚠️
# aloqa (korrelyatsiya ≠ sabab — 4.10) # ✅3. Vaqtga scatter
ax.scatter(sanalar, savdo) # vaqt (uzluksiz) # ⚠️
ax.plot(sanalar, savdo) # chiziqli (vaqt — 5.2) # ✅4. Rang chalkash
ax.scatter(x, y, c=10_guruh) # ko'p rang (chalkash) # ⚠️
# kam guruh yoki farqli rang # ✅5. Nuqtalarni bog'lash
ax.plot(x, y, "o-") # aloqa uchun chiziq (chalkash) # ⚠️
ax.scatter(x, y) # scatter (aloqa) # ✅6. Ko'p o'lcham
ax.scatter(x, y, c=..., s=..., marker=...) # 5 o'lcham # ⚠️
# 2-3 o'lcham (rang + o'lcham) # ✅7. Trend chiziqsiz
ax.scatter(x, y) # aloqa noaniq # ⚠️
# regressiya chiziq (seaborn regplot — 5.7) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 4.9-dars (o'tilgan): Korrelyatsiya (r — scatter shakli)
- 4.10-dars (o'tilgan): Sababiyat (aloqa ≠ sabab)
- 5.2-dars (o'tilgan): Chiziqli (vaqt)
- 5.7-dars: Seaborn (regplot — trend)
- 21-qism (reja): Klasterlash (guruh)
8. Eng yaxshi amaliyotlar
ax.scatter(x, y)— ikki o'zgaruvchan.Scatter shakli (r raqam yetmaydi — Anscombe).
Aloqa ≠ sabab 4.10-bob.
Outlier — scatter ko'rsatadi.
Guruh — rang (
c=, klaster).Overplotting —
alpha(ko'p nuqta).Vaqt — chiziqli (scatter emas).
Scatter — ikki o'zgaruvchan aloqasi.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # nuqtali grafik nima?
2. # scatter nima qiladi?
3. # har nuqta nima?
4. # qachon scatter?
5. # musbat shakl?
6. # manfiy shakl?
7. # tarqoq shakl?
8. # outlier ko'rish?
9. # guruh qanday?
10. # overplotting?
11. # scatter = sabab?
12. # nega scatter muhim?Javoblar
- Ikki o'zgaruvchan aloqasi
- Har nuqta — bir kuzatish (x, y)
- Bir kuzatishning ikki qiymati
- Ikki o'zgaruvchan (vaqt — chiziqli)
- Yuqoriga (x oshsa y ham)
- Pastga (x oshsa y kamayadi)
- Aloqa yo'q (r~0)
- Chetdagi nuqta (scatter)
- Rang (c= — klaster)
- Ko'p nuqta ustma-ust (alpha)
- Yo'q (aloqa — 4.10)
- Ikki o'zgaruvchan aloqasi (shakl)
Vazifa 2: Xatolarni tuzating
1. ax.scatter(x, y) # 10000 nuqta
2. # scatter musbat → sabab
3. ax.scatter(sanalar, savdo) # vaqt
4. ax.plot(x, y, "o-") # aloqa
5. ax.scatter(x, y, c=10_guruh) # ko'p rangJavoblar
1. alpha=0.3 (shaffof)
2. aloqa (sabab emas — 4.10)
3. ax.plot (chiziqli — vaqt)
4. ax.scatter (aloqa)
5. kam guruh (farqli rang)Vazifa 3: Scatter
Modellang:
- Nuqta
- Ikki o'zgaruvchan
- Aloqa
- Bog'lamaydi
Vazifa 4: Shakl
Modellang:
- Musbat
- Manfiy
- Tarqoq
- Egri
Vazifa 5: Outlier/guruh
Modellang:
- Outlier
- Chet
- Guruh (rang)
- Klaster
Vazifa 6: Uchinchi o'lcham
Modellang:
- Rang (c)
- O'lcham (s)
- Bubble
- Ko'p o'zgaruvchan
Vazifa 7: O'ylash
4.9-darsda korrelyatsiya raqamini (r) ko'rdik, endi scatter plot uning shaklini ko'rsatadi. Nima uchun scatter plot korrelyatsiya raqamidan (r) qo'shimcha ma'lumot beradi (Anscombe: bir xil r, turli shakl), va nega ikkalasini (raqam + grafik) birga ishlatish eng yaxshi?
Javob
Qisqa javob: Scatter r raqamdan qo'shimcha ma'lumot beradi (Anscombe), raqam + grafik birga eng yaxshi, chunki: (1) r bir son, siqiq — r bir raqam (butun aloqani siqadi — kuch/yo'nalish; shakl yo'qoladi); Anscombe (4 to'plam — bir xil r~0.82, turli shakl: chiziqli, egri, outlier bilan, vertikal); r shaklni yashiradi; (2) scatter shaklni ochadi — nuqtalar naqshi (chiziqli? egri? outlier? guruh?; r ko'rsatmaydi); scatter butun (har nuqta — to'liq rasm); (3) r faqat chiziqli — Pearson r chiziqli (egri aloqa — r past, lekin scatter aniq U shakli; 4.9); scatter nochiziqli ham. "Nega raqam + grafik birga": (a) raqam — aniq o'lcham — r aniq son (kuch — 0.82; taqqoslash, hisob; grafik — taxminan); (b) grafik — shakl/kontekst — scatter shaklni (chiziqli/egri/outlier — r yashiradi); (c) birga to'liq — raqam (kuch — qancha) + grafik (shakl — qanday); ikkalasi to'liq rasm (r=0.82 + scatter chiziqli — ishonchli; r=0.82 + scatter outlier — ehtiyot); (d) xato oldini — faqat r (Anscombe — aldanish; outlier/egri yashirin); faqat grafik (aniq son yo'q — taxminan); birga (raqam aniq + grafik shakl). "Umumiy tamoyil" (4.5/4.9): raqam + grafik (statistika + vizualizatsiya; raqam siqadi — grafik ochadi; birga to'liq). Saboqlar: r siqiq (shakl yo'qoladi — Anscombe); scatter shakl (r yashiradi); raqam aniq + grafik shakl (birga to'liq); xato oldini (faqat biri — aldanish). To'g'ri: r (kuch — aniq) + scatter (shakl — ko'r); ikkalasi (raqam + grafik). Muvozanat: raqam (aniqlik — hisob, taqqoslash) + grafik (shakl — kontekst, outlier); birga eng yaxshi (biri yetmaydi). Bu Data Science asosiy (statistika + vizualizatsiya — raqam + grafik; Anscombe — grafiksiz aldanish; "ma'lumotni ko'r"). Scatter — korrelyatsiya shakli (r bilan birga — to'liq).
1. Nega scatter qo'shimcha (r'dan)
- r bir son (siqiq — shakl yo'qoladi; Anscombe)
- Scatter shaklni ochadi (chiziqli/egri/outlier)
- r faqat chiziqli (nochiziqli — scatter)
2. Nega raqam + grafik birga
- Raqam aniq o'lcham (kuch — 0.82; taqqoslash)
- Grafik shakl/kontekst (r yashiradi)
- Birga to'liq (kuch + shakl)
- Xato oldini (faqat biri — aldanish)
3. r vs scatter
| r (raqam) | Scatter (grafik) |
|---|---|
| Kuch 0.82-bob — aniq | Shakl — kontekst |
| Shakl yashiradi | Kuch taxminan |
4. Saboqlar
- r siqiq (shakl yo'qoladi — Anscombe)
- Scatter shakl (r yashiradi)
- Raqam aniq + grafik shakl (birga)
- Xato oldini (faqat biri — aldanish)
5. Xulosa
- Scatter qo'shimcha (shakl — r yashiradi)
- Anscombe (bir xil r, turli shakl)
- Raqam (kuch) + grafik (shakl) birga
- To'liq rasm (statistika + vizualizatsiya)
Nimani mustahkamlaydi: 2.2, 2.7-bo'limlar.
Xulosa
Bu darsda nuqtali grafikni o'rgandik.
Eng muhim uch fikr:
Scatter va shakl. Nuqtali grafik (
ax.scatter(x, y)) — har nuqta bir kuzatishning ikki qiymati (x, y); nuqtalar naqshi aloqani ko'rsatadi (bog'lamaydi — chiziq emas). Korrelyatsiya shakli — musbat (yuqoriga), manfiy (pastga), tarqoq (yo'q), egri (nochiziqli); scatter r raqamining shaklini ko'rsatadi (Anscombe — bir xil r, turli shakl; scatter zarur — 4.9).Outlier va guruh. Outlier — chetdagi nuqta (asosiy naqshdan uzoq; scatter darrov ko'rsatadi — raqamda yashirin). Guruh — rang (
c=guruh— har guruh boshqa rang; klaster ko'rinadi; legend). Uchinchi o'lcham — rang (c=), o'lcham (s=— bubble chart; ko'p o'zgaruvchan, lekin 2-3 yetadi).Ikki o'zgaruvchan aloqa. Scatter — ikki o'zgaruvchan aloqasi (korrelyatsiya shakli, outlier, guruh — bir vaqtda). Ehtiyot: overplotting (ko'p nuqta ustma-ust —
alpha=0.3shaffof), korrelyatsiya ≠ sabab 4.10-bob, vaqt — chiziqli 5.2-bob. r raqam + scatter grafik birga (raqam kuch — aniq; grafik shakl — kontekst; to'liq rasm). Data Science'da keng (korrelyatsiya ko'r — EDA 9-qism; ML — xususiyat aloqa, klaster). Bu 4.9 (korrelyatsiya) davomi va 5.7 (seaborn — regplot) bilan. Tuzoqlar: overplotting (alpha), korrelyatsiya=sabab, vaqtga scatter, rang chalkash.
Keyingi darsda histogramni o'rganamiz: bir o'zgaruvchan taqsimoti — shakl, markaz, tarqoqlik, qiyshiqlik (4.5 taqsimot grafigi).
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!