IlmHamroh
Data Science va sun'iy intellekt/Vizualizatsiya4/14-dars17 daqiqa
Mundarija (22)

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:

python
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:

python
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

python
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 — chiziqli

Scatter 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

python
"""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:

text
=== 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

python
"""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:

text
=== 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 naqshi

Nima ko'rsatdi: 2.2-bo'lim.

Misol 3 — Outlier ko'rish

python
"""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:

text
=== 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'rinadi

Nima ko'rsatdi: 2.3-bo'lim.

Misol 4 — Guruh (rang)

python
"""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:

text
=== 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

python
ax.scatter(x, y)   # 10000 nuqta (qora dog')                 # ⚠️
ax.scatter(x, y, alpha=0.3)   # shaffof (zichlik)            # ✅

2. Korrelyatsiya = sabab

python
# scatter musbat → sabab deb                                  # ⚠️
# aloqa (korrelyatsiya ≠ sabab — 4.10)                        # ✅

3. Vaqtga scatter

python
ax.scatter(sanalar, savdo)   # vaqt (uzluksiz)               # ⚠️
ax.plot(sanalar, savdo)   # chiziqli (vaqt — 5.2)             # ✅

4. Rang chalkash

python
ax.scatter(x, y, c=10_guruh)   # ko'p rang (chalkash)        # ⚠️
# kam guruh yoki farqli rang                                  # ✅

5. Nuqtalarni bog'lash

python
ax.plot(x, y, "o-")   # aloqa uchun chiziq (chalkash)        # ⚠️
ax.scatter(x, y)   # scatter (aloqa)                          # ✅

6. Ko'p o'lcham

python
ax.scatter(x, y, c=..., s=..., marker=...)   # 5 o'lcham     # ⚠️
# 2-3 o'lcham (rang + o'lcham)                                # ✅

7. Trend chiziqsiz

python
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

  1. ax.scatter(x, y) — ikki o'zgaruvchan.

  2. Scatter shakli (r raqam yetmaydi — Anscombe).

  3. Aloqa ≠ sabab 4.10-bob.

  4. Outlier — scatter ko'rsatadi.

  5. Guruh — rang (c=, klaster).

  6. Overplotting — alpha (ko'p nuqta).

  7. Vaqt — chiziqli (scatter emas).

  8. Scatter — ikki o'zgaruvchan aloqasi.


9. Amaliy topshiriq

Vazifa 1: Bashorat qiling

python
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
  1. Ikki o'zgaruvchan aloqasi
  2. Har nuqta — bir kuzatish (x, y)
  3. Bir kuzatishning ikki qiymati
  4. Ikki o'zgaruvchan (vaqt — chiziqli)
  5. Yuqoriga (x oshsa y ham)
  6. Pastga (x oshsa y kamayadi)
  7. Aloqa yo'q (r~0)
  8. Chetdagi nuqta (scatter)
  9. Rang (c= — klaster)
  10. Ko'p nuqta ustma-ust (alpha)
  11. Yo'q (aloqa — 4.10)
  12. Ikki o'zgaruvchan aloqasi (shakl)

Vazifa 2: Xatolarni tuzating

python
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 rang
Javoblar
python
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:

  1. Nuqta
  2. Ikki o'zgaruvchan
  3. Aloqa
  4. Bog'lamaydi

Vazifa 4: Shakl

Modellang:

  1. Musbat
  2. Manfiy
  3. Tarqoq
  4. Egri

Vazifa 5: Outlier/guruh

Modellang:

  1. Outlier
  2. Chet
  3. Guruh (rang)
  4. Klaster

Vazifa 6: Uchinchi o'lcham

Modellang:

  1. Rang (c)
  2. O'lcham (s)
  3. Bubble
  4. 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

  1. r siqiq (shakl yo'qoladi — Anscombe)
  2. Scatter shakl (r yashiradi)
  3. Raqam aniq + grafik shakl (birga)
  4. Xato oldini (faqat biri — aldanish)

5. Xulosa

  1. Scatter qo'shimcha (shakl — r yashiradi)
  2. Anscombe (bir xil r, turli shakl)
  3. Raqam (kuch) + grafik (shakl) birga
  4. To'liq rasm (statistika + vizualizatsiya)

Nimani mustahkamlaydi: 2.2, 2.7-bo'limlar.


Xulosa

Bu darsda nuqtali grafikni o'rgandik.

Eng muhim uch fikr:

  1. 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).

  2. 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).

  3. Ikki o'zgaruvchan aloqa. Scatter — ikki o'zgaruvchan aloqasi (korrelyatsiya shakli, outlier, guruh — bir vaqtda). Ehtiyot: overplotting (ko'p nuqta ustma-ust — alpha=0.3 shaffof), 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).

Ulashish:Telegram'da

Izohlar (0)

Izoh yozish uchun kiring.

  • Hozircha izoh yo'q. Birinchi bo'ling!
5.4-dars: Nuqtali grafik (scatter) — IlmHamroh