Mundarija (22)
- 1. Kirish va motivatsiya
- 2. Nazariya — chuqur tushuntirish
- 2.1. Outlier topish (IQR/z-score/box)
- 2.2. G'alati kombinatsiya (imkonsiz birga)
- 2.3. Naqshdan chetlanish
- 2.4. Xato yoki kashfiyot
- 2.5. Anomaliya — savol
- 2.6. Anomaliya amaliyoti
- 2.7. Anomaliya tuzoqlari
- 2.8. Anomaliya topish — g'ayrioddiyni topish va o'rganish
- 3. Tez ma'lumotnoma
- 4. Batafsil misollar
- Misol 1 — Outlier topish (IQR)
- Misol 2 — G'alati kombinatsiya
- Misol 3 — Naqshdan chetlanish
- Misol 4 — Xato vs kashfiyot
- 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
8.6-dars: Anomaliya topish
8-QISM — EDA (RAZVEDKA TAHLILI) · 6-dars
1. Kirish va motivatsiya
EDA'ning muhim qismi — g'ayrioddiy narsalarni topish: outlier (chetki qiymat), g'alati kombinatsiya, naqshdan chetlanish. Bu anomaliya — kutilgandan farq qiluvchi qiymat yoki naqsh. Anomaliya ikki xil ma'no beradi: (1) xato (kiritish xatosi, buzilgan sensor — tozalash kerak), (2) muhim kashfiyot (firibgarlik, kasallik, favqulodda hodisa — aynan qidirilgan). 6.3-darsda outlier'ni tozalash nuqtai nazaridan ko'rdik; endi EDA nuqtai nazaridan: anomaliyani topish, tushunish (xato yoki kashfiyot?), va undan o'rganish. "Anomaliya — muammo emas, savol". Bu darsda outlier, g'alati kombinatsiya, naqshdan chetlanishni topish. Nega muhim? (1) G'ayrioddiy — outlier, g'alati (topish); (2) Ikki ma'no — xato yoki kashfiyot; (3) Savol — nega g'alati (o'rganish). Bu dars anomaliya topishni o'rgatadi — g'ayrioddiyni topish.
Anomaliya topish — g'ayrioddiyni topish: outlier (IQR/z-score — 6.3; box 5.6; chetki qiymat), g'alati kombinatsiya (imkonsiz birga — yosh=8 direktor; 6.10), naqshdan chetlanish (kutilgandan farq — g'alati nuqta scatter), ikki ma'no (xato — tozalash; kashfiyot — firibgarlik/muhim), savol ("nega g'alati?" — o'rganish; 8.2). Foydalanish: g'ayrioddiy topish, xato yoki kashfiyot. Bu 6.3 (outlier), 6.10 (noto'g'ri qiymat), 5.6 (box), 8.4 (bivariate) bilan bog'liq. Anomaliya topish — g'ayrioddiy (xato/kashfiyot). Anomaliya. G'ayrioddiy.
Real vaziyat. Data Scientist tranzaksiya ma'lumotini EDA qilmoqchi — anomaliyalar: (1) outlier — box plot bir necha juda katta tranzaksiya (50000$; median 100$ — chetki; xato yoki firibgarlik?), (2) g'alati kombinatsiya — "yosh=8" bilan "mashina xarid" (imkonsiz — bola mashina olmaydi; xato yoki firibgarlik id?), (3) naqshdan chetlanish — soat 3:00 da 100 ta tranzaksiya (kutilmagan — g'alati; firibgarlik?). Data Scientist anomaliyani topdi (outlier, g'alati), savol berdi ("xato yoki firibgarlik?"), o'rgandi (aksariyat — firibgarlik kashfiyot!; anomaliya aynan qiziq). Anomaliya topish — g'ayrioddiy (savol).
Bu darsda anomaliya topishni o'rganamiz.
Bu darsda:
- Outlier topish (IQR/z-score/box)
- G'alati kombinatsiya (imkonsiz birga)
- Naqshdan chetlanish
- Xato yoki kashfiyot
- Anomaliya — savol
- Anomaliya amaliyoti
- Anomaliya tuzoqlari
- Amaliy: anomaliya topish
ℹ Misollar real pandas/numpy/scipy bilan (Python 3.14).
2. Nazariya — chuqur tushuntirish
2.1. Outlier topish (IQR/z-score/box)
Chetki qiymat:
import pandas as pd
# IQR usuli 6.3-bob — outlier
q1, q3 = df["narx"].quantile([0.25, 0.75])
iqr = q3 - q1
outlier = df[(df["narx"] < q1 - 1.5*iqr) | (df["narx"] > q3 + 1.5*iqr)]
# box plot (vizual — 5.6)
df["narx"].plot.box()Outlier topish (IQR/z-score/box) — chetki: IQR usuli (6.3 — Q1-1.5·IQR, Q3+1.5·IQR; chetki qiymat; median asosida — chidamli), z-score (|z|>3 — normal; 4.6), box plot (vizual — 5.6; mo'ylov tashqari nuqta). Sabab: chetki qiymat (aksariyatdan uzoq; xato yoki muhim); IQR (chidamli — 6.3), box (vizual — bir qarashda). IQR (chegara), z-score (normal), box (vizual). Outlier topish — IQR/z-score/box (chetki). Outlier. IQR.
2.2. G'alati kombinatsiya (imkonsiz birga)
Ustunlar orasidagi anomaliya:
import pandas as pd
# g'alati kombinatsiya (imkonsiz birga — 6.10)
gala = df[(df["yosh"] < 16) & (df["mashina_bor"] == "ha")] # 16 yoshgacha mashina?
# sana zid
zid = df[df["boshlanish"] > df["tugash"]] G'alati kombinatsiya (imkonsiz birga) — ustunlar orasida: bir ustun to'g'ri, lekin kombinatsiya g'alati (imkonsiz birga — 6.10): yosh=8 va mashina xarid (bola mashina olmaydi), homilador=ha va jins=erkak (imkonsiz), boshlanish > tugash sana; mantiqiy shart (& — ikki shart). Sabab: univariate (har ustun alohida) yashiradi (yosh 8 — normal; mashina — normal; birga — g'alati); bivariate/kombinatsiya (ustunlar orasi — anomaliya; 6.10 noto'g'ri qiymat); "birga imkonsiz". Bir ustun to'g'ri (alohida), kombinatsiya g'alati (birga), mantiqiy (&). G'alati kombinatsiya — imkonsiz birga 6.10-bob. Kombinatsiya. Birga.
2.3. Naqshdan chetlanish
Naqshdan chetlanish — kutilgandan farq: aksariyat naqsh (kutilgan — soat 9-18 tranzaksiya; narx maydonga mos), lekin ba'zi chetlanadi (g'alati — soat 3:00 tranzaksiya; maydon kichik lekin narx yuqori — scatter chetki nuqta; vaqt qatori — kutilmagan sakrash); kontekstda (guruh/vaqt/naqsh bo'yicha g'alati). Sabab: naqsh (kutilgan — normal; chetlanish — anomaliya); univariate outlier emas (naqshdan — kontekstda; masalan narx normal, lekin maydonga mos emas — bivariate anomaliya); scatter/vaqt (chetki nuqta). Naqsh (kutilgan), chetlanish (g'alati — kontekstda), scatter/vaqt (chetki). Naqshdan chetlanish — kutilgandan farq (kontekst). Naqsh. Chetlanish.
2.4. Xato yoki kashfiyot
Xato yoki kashfiyot — ikki ma'no: anomaliya ikki xil (6.3 outlier kabi): xato (kiritish xatosi, buziq sensor, imkonsiz — yosh 250; tozalash 6-qism), kashfiyot (firibgarlik, kasallik, favqulodda hodisa, VIP — muhim; aynan qidirilgan; anomaliya aniqlash 20-qism). Sabab: anomaliyani ko'r-ko'rona o'chirma (kashfiyot — muhim; firibgarlik — anomaliya aynan qiziq; 6.3); tushun (imkonsiz — xato; kamyob/g'alati — kashfiyot?; domen). Xato (imkonsiz — tozalash), kashfiyot (muhim — firibgarlik), tushun (domen). Xato yoki kashfiyot — ikki ma'no (o'rgan). Xato. Kashfiyot.
2.5. Anomaliya — savol
Anomaliya — savol — "nega g'alati?": anomaliya — muammo emas, savol 6.3-bob: topilgach — savol ("nega bu g'alati? — xato? kashfiyot? sabab?"); o'rgan (o'chirma — tekshir; domen, manba, kontekst); anomaliya yangi bilim (kutilmagan — qiziq; kashfiyot). Sabab: EDA — razvedka (8.1; anomaliya — kashfiyot yo'nalishi; savol tug'diradi); "anomaliya — muammo emas, savol" (o'rgan — tashla emas); ilmiy kashfiyot ko'pincha anomaliya. Savol ("nega?"), o'rgan (tekshir — domen), kashfiyot (yangi bilim). Anomaliya — savol (o'rgan; muammo emas). Anomaliya. Savol.
2.6. Anomaliya amaliyoti
Anomaliya amaliyoti: outlier (IQR/z-score/box — 6.3; har son ustun); kombinatsiya (imkonsiz birga — & mantiqiy; 6.10); naqsh (scatter chetki, vaqt sakrash — kontekstda); savol ("nega g'alati?" — xato/kashfiyot?); tushun (imkonsiz — xato; g'alati — kashfiyot?; domen); o'rgan (o'chirma — tekshir; firibgarlik/muhim?); belgila (anomaliya ustun — alohida). Tuzoqlar: ko'r-ko'rona o'chirish (kashfiyot yo'q), faqat univariate (kombinatsiya yashirin), domen yo'q (xato/kashfiyot farqlamay), tasodifiy (ko'p — ba'zi tasodifiy), naqsh e'tiborsiz (kontekst). Amaliyot — outlier, kombinatsiya, savol, o'rgan. Anomaliya. Savol.
2.7. Anomaliya tuzoqlari
Anomaliya asosiy tuzoqlari: ko'r-ko'rona o'chirish (anomaliya avtomatik o'chir — lekin kashfiyot (firibgarlik, kasallik, VIP — muhim!) yo'qoladi; tushun — xato vs kashfiyot; 6.3); faqat univariate (har ustun alohida — kombinatsiya (yosh=8 + mashina — imkonsiz birga) yashirin; bivariate/kombinatsiya tekshir — 6.10); domen yo'q (xato (imkonsiz — yosh 250) vs kashfiyot (kamyob — VIP 50000) — domen bilimi; domensiz — noto'g'ri hal); naqsh e'tiborsiz (univariate outlier — lekin naqshdan chetlanish (kontekstda — narx normal, maydonga mos emas; scatter/guruh; bivariate anomaliya) o'tkazib); tasodifiy (ko'p tekshir — ba'zi tasodifan g'alati; ko'p ma'lumot/p-qiymat; 4.12); statistik faqat (anomaliya — faqat statistik (IQR/z-score); lekin domen/kontekst (soat 3:00 — statistik outlier emas, lekin g'alati; biznes mantiq)); outlier = xato faraz (outlier — xato deb (avtomatik); kashfiyot bo'lishi mumkin; tushun); kam namuna (kichik namuna — "anomaliya" tasodifiy; katta namuna); kontekstsiz (anomaliya — kontekstda (guruh/vaqt/domen); kontekstsiz — noto'g'ri). Sabab: anomaliya kashfiyot/kombinatsiya/domen nozik (ko'r-ko'rona, univariate, domensiz — kashfiyot yo'q yoki noto'g'ri). Yechim: tushun (xato/kashfiyot), kombinatsiya, domen, naqsh, savol. Tuzoqlar — ko'r-ko'rona, univariate, domen, naqsh.
2.8. Anomaliya topish — g'ayrioddiyni topish va o'rganish
Anomaliya topish asosiy g'oyasi — g'ayrioddiyni topish va o'rganish: EDA'ning muhim qismi — g'ayrioddiy (kutilgandan farq — anomaliya); outlier (IQR/z-score/box — 6.3; chetki qiymat), g'alati kombinatsiya (imkonsiz birga — yosh=8 mashina; 6.10; univariate yashiradi), naqshdan chetlanish (kutilgandan farq — scatter chetki, vaqt sakrash; kontekstda). Ikki ma'no (xato — kiritish/imkonsiz; tozalash 6-qism; kashfiyot — firibgarlik/kasallik/VIP; muhim — anomaliya aniqlash 20-qism), anomaliya — savol ("nega g'alati?" — xato/kashfiyot?; o'chirma — o'rgan; 8.1 razvedka). Foydalanish: g'ayrioddiy topish (outlier, g'alati, chetlanish), xato yoki kashfiyot (tushun — o'rgan). "Anomaliya — muammo emas, savol" (ilmiy kashfiyot ko'pincha anomaliya). Tuzoqlar: ko'r-ko'rona o'chirish (kashfiyot yo'q), faqat univariate (kombinatsiya yashirin — 6.10), domen yo'q (xato/kashfiyot), naqsh e'tiborsiz (kontekst), tasodifiy (ko'p), statistik faqat (domen/kontekst). Bu 6.3 (outlier), 6.10 (noto'g'ri qiymat), 5.6 (box), 8.4 (bivariate), 20-qism (anomaliya aniqlash) bilan. Anomaliya topish — g'ayrioddiyni topish va o'rganish (outlier/kombinatsiya/naqsh; xato/kashfiyot). Anomaliya. G'ayrioddiy. Savol.
3. Tez ma'lumotnoma
import pandas as pd
import numpy as np
from scipy import stats
# OUTLIER (IQR — 6.3):
q1, q3 = df["narx"].quantile([0.25, 0.75]); iqr = q3 - q1
outlier = df[(df["narx"] < q1 - 1.5*iqr) | (df["narx"] > q3 + 1.5*iqr)]
# z-score (normal): df[np.abs(stats.zscore(df["narx"])) > 3]
df["narx"].plot.box() # vizual (5.6)
# G'ALATI KOMBINATSIYA (imkonsiz birga — 6.10):
df[(df["yosh"] < 16) & (df["mashina_bor"] == "ha")]
df[df["boshlanish"] > df["tugash"]]
# NAQSHDAN CHETLANISH:
# scatter chetki nuqta · vaqt sakrash · kontekstda g'alati
# IKKI MA'NO:
# xato (imkonsiz — yosh 250) → tozalash (6-qism)
# kashfiyot (firibgarlik/VIP — muhim) → o'rgan (20-qism)
# ANOMALIYA — SAVOL: "nega g'alati?" (xato? kashfiyot?) — o'chirma, o'rgan
QOIDA: tushun (xato/kashfiyot) · kombinatsiya · domen · naqsh · savolAnomaliya topish xulosasi
Anomaliya topish — g'ayrioddiyni topish va o'rganish
Outlier — IQR/z-score/box (chetki qiymat; 6.3)
G'alati kombinatsiya — imkonsiz birga (yosh=8 mashina; 6.10)
Ikki ma'no — xato (tozalash) / kashfiyot (firibgarlik — muhim)
Anomaliya — savol ("nega g'alati?"; o'chirma, o'rgan)4. Batafsil misollar
Misollar real pandas/numpy/scipy bilan (Python 3.14).
Misol 1 — Outlier topish (IQR)
"""Outlier topish (real pandas/numpy)."""
import numpy as np
import pandas as pd
def main() -> None:
np.random.seed(0)
# aksariyat normal, bir nechta juda katta (firibgarlik?)
narx = np.concatenate([np.random.normal(100, 20, 195), [5000, 4800, 5200, 4900, 5100]])
s = pd.Series(narx)
print("=== 1. IQR chegara ===")
q1, q3 = s.quantile([0.25, 0.75])
iqr = q3 - q1
yuqori = q3 + 1.5 * iqr
print(f" yuqori chegara: {round(yuqori)}")
print("\n=== 2. Outlier ===")
outlier = s[s > yuqori]
print(f" outlier soni: {len(outlier)}")
print(f" outlier qiymatlar: {[round(v) for v in outlier[:5]]}")
print("\n=== 3. Median vs outlier ===")
print(f" median: {s.median().round(0)} (100 atrofida)")
print(f" outlier: 5000 (50x median!)")
print("\n=== 4. Savol ===")
print(" nega 5000? (xato yoki firibgarlik?)")
print(" ⭐ Outlier — IQR (chetki)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. IQR chegara ===
yuqori chegara: 164
=== 2. Outlier ===
outlier soni: 5
outlier qiymatlar: [5000, 4800, 5200, 4900, 5100]
=== 3. Median vs outlier ===
median: 101.0 (100 atrofida)
outlier: 5000 (50x median!)
=== 4. Savol ===
nega 5000? (xato yoki firibgarlik?)
⭐ Outlier — IQR (chetki)Nima ko'rsatdi: 2.1-bo'lim.
Misol 2 — G'alati kombinatsiya
"""G'alati kombinatsiya (real pandas)."""
import pandas as pd
def main() -> None:
df = pd.DataFrame({
"yosh": [8, 30, 45, 12, 25],
"mashina_bor": ["ha", "ha", "yo'q", "ha", "ha"],
"daromad": [500, 800, 600, 1000, 700],
})
print("=== 1. Har ustun to'g'ri (univariate) ===")
print(f" yosh 8 — normal son")
print(f" mashina 'ha' — normal")
print("\n=== 2. Kombinatsiya (imkonsiz) ===")
gala = df[(df["yosh"] < 16) & (df["mashina_bor"] == "ha")]
print(f" 16 yoshgacha mashina: {len(gala)} qator")
print(f" yoshlar: {gala['yosh'].tolist()}")
print("\n=== 3. Yosh=12, daromad=1000 ===")
print(" 12 yoshli 1000 daromad? (g'alati)")
print("\n=== 4. Savol ===")
print(" xato (yosh) yoki firibgar (id)? (o'rgan)")
print(" ⭐ Kombinatsiya — imkonsiz birga 6.10-bob")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Har ustun to'g'ri (univariate) ===
yosh 8 — normal son
mashina 'ha' — normal
=== 2. Kombinatsiya (imkonsiz) ===
16 yoshgacha mashina: 2 qator
yoshlar: [8, 12]
=== 3. Yosh=12, daromad=1000 ===
12 yoshli 1000 daromad? (g'alati)
=== 4. Savol ===
xato (yosh) yoki firibgar (id)? (o'rgan)
⭐ Kombinatsiya — imkonsiz birga (6.10)Nima ko'rsatdi: 2.2-bo'lim.
Misol 3 — Naqshdan chetlanish
"""Naqshdan chetlanish (real pandas/numpy)."""
import numpy as np
import pandas as pd
def main() -> None:
np.random.seed(0)
# naqsh: maydon ~ narx (bog'liq), lekin bir nuqta chetlanadi
maydon = np.array([50, 60, 70, 80, 90, 100])
narx = maydon * 1.5 + np.random.normal(0, 5, 6)
narx[3] = 500 # chetlanish (maydon 80, narx 500 — g'alati)
df = pd.DataFrame({"maydon": maydon, "narx": narx.round(0)})
print("=== 1. Naqsh (maydon ~ narx) ===")
print(" aksariyat: maydon katta → narx yuqori")
print("\n=== 2. Chetlanish (maydon 80, narx 500) ===")
kutilgan = df["maydon"] * 1.5
df["farq"] = (df["narx"] - kutilgan).abs()
chetki = df[df["farq"] > 100]
print(f" chetlangan: maydon {chetki['maydon'].values}, narx {chetki['narx'].values}")
print("\n=== 3. Kontekstda g'alati ===")
print(" narx 500 o'zi outlier emas, lekin maydonga mos emas")
print("\n=== 4. Bivariate anomaliya ===")
print(" univariate emas — naqshdan chetlanish (kontekst)")
print(" ⭐ Naqshdan chetlanish (kontekst)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Naqsh (maydon ~ narx) ===
aksariyat: maydon katta → narx yuqori
=== 2. Chetlanish (maydon 80, narx 500) ===
chetlangan: maydon [80], narx [500.]
=== 3. Kontekstda g'alati ===
narx 500 o'zi outlier emas, lekin maydonga mos emas
=== 4. Bivariate anomaliya ===
univariate emas — naqshdan chetlanish (kontekst)
⭐ Naqshdan chetlanish (kontekst)Nima ko'rsatdi: 2.3-bo'lim.
Misol 4 — Xato vs kashfiyot
"""Xato vs kashfiyot (real pandas)."""
import pandas as pd
def main() -> None:
df = pd.DataFrame({
"tur": ["yosh", "tranzaksiya", "yosh", "tranzaksiya"],
"qiymat": [250, 50000, 45, 48000],
})
print("=== 1. Yosh 250 (xato) ===")
print(" imkonsiz (inson 250 yosh yo'q) → xato (tozalash)")
print("\n=== 2. Tranzaksiya 50000 (kashfiyot?) ===")
print(" kamyob, lekin mumkin (VIP yoki firibgarlik) → o'rgan")
print("\n=== 3. Farq ===")
print(" yosh 250: imkonsiz (xato — o'chir/tuzat)")
print(" tranzaksiya 50000: kamyob (kashfiyot — tekshir)")
print("\n=== 4. Domen bilimi ===")
print(" imkonsiz (xato) vs kamyob (kashfiyot) — domen")
print(" ⭐ Xato vs kashfiyot (tushun)")
if __name__ == "__main__":
main()Natijaning muhim qismi:
=== 1. Yosh 250 (xato) ===
imkonsiz (inson 250 yosh yo'q) → xato (tozalash)
=== 2. Tranzaksiya 50000 (kashfiyot?) ===
kamyob, lekin mumkin (VIP yoki firibgarlik) → o'rgan
=== 3. Farq ===
yosh 250: imkonsiz (xato — o'chir/tuzat)
tranzaksiya 50000: kamyob (kashfiyot — tekshir)
=== 4. Domen bilimi ===
imkonsiz (xato) vs kamyob (kashfiyot) — domen
⭐ Xato vs kashfiyot (tushun)Nima ko'rsatdi: 2.4-bo'lim.
5. To'g'ri va noto'g'ri tushunishlar
| Noto'g'ri fikr | To'g'risi |
|---|---|
| "anomaliya = xato" | Xato yoki kashfiyot |
| "anomaliyani o'chir" | O'rgan (kashfiyot) |
| "univariate yetarli" | Kombinatsiya (6.10) |
| "outlier = xato" | Kashfiyot bo'lishi mumkin |
| "faqat statistik" | Domen/kontekst |
| "anomaliya muammo" | Savol (o'rgan) |
| "har g'alati haqiqiy" | Tasodifiy (tekshir) |
| "domen kerakmas" | Xato/kashfiyot (domen) |
6. Keng tarqalgan xatolar va yechimlari
1. Ko'r-ko'rona o'chirish
df = df[df["narx"] < yuqori] # firibgarlik (kashfiyot) yo'q # ⚠️
# tushun (xato vs kashfiyot); o'rgan # ✅2. Faqat univariate
df["yosh"].plot.box() # kombinatsiya yashirin # ⚠️
df[(df["yosh"]<16) & (df["mashina"]=="ha")] # kombinatsiya # ✅3. Domen yo'q
# yosh 250 va tranzaksiya 50000 — bir xil deb # ⚠️
# yosh 250 (xato); 50000 (kashfiyot?) — domen # ✅4. Naqsh e'tiborsiz
# faqat univariate outlier (naqshdan chetlanish o'tkazib) # ⚠️
# scatter/guruh (kontekstda g'alati) # ✅5. Statistik faqat
# faqat IQR/z-score (soat 3:00 statistik emas, lekin g'alati) # ⚠️
# domen/kontekst (biznes mantiq) # ✅6. Anomaliya = muammo
# anomaliya → o'chir (muammo deb) # ⚠️
# anomaliya → savol (nega? o'rgan) # ✅7. Tasodifiy
# har g'alati → haqiqiy (ko'p — ba'zi tasodifiy) # ⚠️
# tekshir (katta namuna, p-qiymat — 4.12) # ✅7. Integratsiya — bu bilim qayerda kerak bo'ladi
- 6.3-dars (o'tilgan): Outlier (tozalash)
- 6.10-dars (o'tilgan): Noto'g'ri qiymat (kombinatsiya)
- 5.6-dars (o'tilgan): Box plot
- 8.4-dars (o'tilgan): Bivariate (naqsh)
- 20-qism (reja): Anomaliya aniqlash (ML)
8. Eng yaxshi amaliyotlar
Outlier — IQR/z-score/box.
Kombinatsiya — imkonsiz birga 6.10-bob.
Naqsh — scatter/kontekst.
Tushun — xato yoki kashfiyot.
Domen — imkonsiz vs kamyob.
O'rgan — o'chirma (kashfiyot).
Savol — "nega g'alati?".
Kontekst — domen/vaqt/guruh.
9. Amaliy topshiriq
Vazifa 1: Bashorat qiling
1. # anomaliya nima?
2. # outlier topish?
3. # g'alati kombinatsiya?
4. # naqshdan chetlanish?
5. # xato ma'nosi?
6. # kashfiyot ma'nosi?
7. # anomaliya — savolmi?
8. # ko'r-ko'rona o'chirish?
9. # univariate yetarlimi?
10. # domen nega?
11. # statistik faqat?
12. # nega anomaliya?Javoblar
- G'ayrioddiy (kutilgandan farq)
- IQR/z-score/box (chetki)
- Imkonsiz birga (6.10)
- Kutilgandan farq (kontekst)
- Kiritish/imkonsiz (tozalash)
- Firibgarlik/VIP (muhim)
- Ha (o'rgan — muammo emas)
- Kashfiyot yo'q (yomon)
- Yo'q (kombinatsiya)
- Xato/kashfiyot farqlash
- Domen/kontekst ham
- Xato yoki kashfiyot (o'rgan)
Vazifa 2: Xatolarni tuzating
1. df = df[df["narx"] < yuqori]
2. df["yosh"].plot.box() # kombinatsiya
3. # yosh 250 va 50000 bir xil
4. # faqat univariate
5. # anomaliya → o'chirJavoblar
1. tushun (xato/kashfiyot); o'rgan
2. & (kombinatsiya — 6.10)
3. domen (xato vs kashfiyot)
4. scatter (naqsh — kontekst)
5. savol (nega? o'rgan)Vazifa 3: Topish
Modellang:
- Outlier (IQR)
- Kombinatsiya
- Naqsh
- Kontekst
Vazifa 4: Ma'no
Modellang:
- Xato
- Kashfiyot
- Domen
- Tushun
Vazifa 5: Savol
Modellang:
- "Nega g'alati?"
- O'rgan
- O'chirma
- Kashfiyot
Vazifa 6: Integratsiya
Modellang:
- Outlier (6.3)
- Kombinatsiya (6.10)
- Bivariate (8.4)
- Anomaliya aniqlash (20)
Vazifa 7: O'ylash
Anomaliya ikki xil ma'no beradi: xato (o'chirish kerak) yoki kashfiyot (firibgarlik, kasallik — aynan qidirilgan). Ko'pincha anomaliya aynan eng qiziqarli narsa — ilmiy kashfiyotlar, firibgarlik aniqlash, kasallik diagnostikasi anomaliyadan boshlanadi. Nima uchun "anomaliyani ko'r-ko'rona o'chirish" xavfli, va nima uchun anomaliya "signal, shovqin emas" bo'lishi mumkin?
Javob
Qisqa javob: Anomaliya ikki ma'no (xato — o'chir; kashfiyot — muhim); ko'pincha anomaliya aynan qiziq (kashfiyot, firibgarlik, kasallik); "anomaliyani ko'r-ko'rona o'chirish" xavfli; anomaliya "signal, shovqin emas" bo'lishi mumkin, chunki: (1) anomaliya signal — g'ayrioddiy ma'lumot (nega g'alati? — sabab bor; xato yoki hodisa); ko'p sohada anomaliya aynan maqsad (firibgarlik — g'ayrioddiy tranzaksiya; kasallik — g'ayrioddiy tahlil; buzilish — g'ayrioddiy sensor; 20-qism anomaliya aniqlash); (2) kashfiyot — ilmiy kashfiyot ko'pincha anomaliya (kutilmagan natija — yangi bilim; penicillin — anomaliya); (3) ko'r-ko'rona o'chirish — anomaliya o'chir → kashfiyot yo'q (firibgarlik o'chirib tashlash = jinoyatni yashirish; kasallik — diagnostika yo'q); (4) signal vs shovqin — anomaliya signal (ma'noli — kashfiyot) yoki shovqin (tasodifiy/xato); farqla (o'chirma — tekshir). "Nega ko'r-ko'rona xavfli": (a) kashfiyot yo'q (firibgarlik, kasallik, VIP — muhim; o'chir — yo'qot); (b) maqsad (anomaliya aynan qidirilgan — firibgarlik aniqlash; o'chir — maqsad yo'q); (c) signal (anomaliya — signal; o'chir — signalni yo'qotish); (d) kutilmagan (kashfiyot — kutilmagan; anomaliya — kutilmagan; o'chir — kashfiyot yo'q). "Nega signal, shovqin emas": (1) ma'no (anomaliya — nega? sabab; ma'noli — signal); (2) naqsh (anomaliya — naqsh (firibgarlik naqshi; g'ayrioddiy tranzaksiya guruh)); (3) kashfiyot (anomaliya — yangi bilim; signal); (4) domen (anomaliya — domen (soha — muhimmi?); signal). "Data Scientist qanday": (1) top (anomaliya — IQR/kombinatsiya/naqsh); (2) savol ("signal yoki shovqin? xato yoki kashfiyot?"); (3) tekshir (domen, manba, kontekst — signalmi?); (4) o'rgan (o'chirma — kashfiyot; firibgarlik/kasallik); (5) belgila (anomaliya — alohida; 20-qism). "Nega muhim": anomaliya signal (kashfiyot — muhim); ko'r-ko'rona xavfli (kashfiyot yo'q); signal vs shovqin (farqla — o'rgan). Saboqlar: anomaliya signal (kashfiyot — firibgarlik/kasallik); ko'r-ko'rona xavfli (kashfiyot yo'q — o'chirma); signal vs shovqin (farqla — tekshir); o'rgan (savol). To'g'ri: anomaliya signal (nega? — kashfiyot); ko'r-ko'rona o'chirma (kashfiyot yo'q); o'rgan (savol — tekshir); domen. Muvozanat: tozalash (xato — o'chir) + o'rganish (kashfiyot/signal — saqla, top; muhim). Bu Data Science EDA/anomaliya asosiy (anomaliya — signal; ko'r-ko'rona xavfli; kashfiyot; savol). Anomaliya topish — signal (kashfiyot — o'rgan; ko'r-ko'rona o'chirma).
1. Nega ko'r-ko'rona xavfli
- Kashfiyot yo'q (firibgarlik, kasallik, VIP)
- Maqsad (anomaliya aynan qidirilgan)
- Signal yo'qotish (o'chir — signal yo'q)
- Kutilmagan (kashfiyot — o'chir yo'qot)
2. Nega signal (shovqin emas)
- Ma'no (nega g'alati? — sabab; ma'noli)
- Naqsh (firibgarlik naqshi — signal)
- Kashfiyot (yangi bilim)
- Domen (soha — muhimmi? signal)
3. Signal vs shovqin
| Signal (kashfiyot) | Shovqin (xato/tasodif) |
|---|---|
| Ma'noli (nega?) | Tasodifiy |
| Firibgarlik/kasallik | Kiritish xatosi |
| O'rgan | Tozalash |
4. Data Scientist qanday
- Top (IQR/kombinatsiya/naqsh)
- Savol (signal yoki shovqin? xato/kashfiyot?)
- Tekshir (domen, manba, kontekst)
- O'rgan (o'chirma — kashfiyot; belgila)
5. Xulosa
- Anomaliya signal (kashfiyot — firibgarlik/kasallik/VIP)
- Ko'r-ko'rona o'chirish xavfli (kashfiyot yo'q — maqsad yo'q)
- Signal vs shovqin (farqla — o'rgan, tekshir)
- O'rgan (savol — nega? domen; muammo emas)
Nimani mustahkamlaydi: 2.4, 2.7-bo'limlar.
Xulosa
Bu darsda anomaliya topishni o'rgandik.
Eng muhim uch fikr:
Outlier va kombinatsiya. Outlier topish — IQR usuli (Q1-1.5·IQR, Q3+1.5·IQR — chidamli; 6.3), z-score (|z|>3 — normal), box (vizual — 5.6). G'alati kombinatsiya — imkonsiz birga (
yosh<16&mashina="ha"—&mantiqiy; 6.10; univariate yashiradi — har ustun to'g'ri, birga g'alati). Naqshdan chetlanish — kutilgandan farq (scatter chetki, vaqt sakrash; kontekstda — bivariate anomaliya).Ikki ma'no va savol. Xato yoki kashfiyot — anomaliya ikki xil: xato (imkonsiz — yosh 250; tozalash 6-qism), kashfiyot (firibgarlik/kasallik/VIP — muhim; aynan qidirilgan; 20-qism); domen (imkonsiz vs kamyob). Anomaliya — savol ("nega g'alati?" — xato/kashfiyot?; o'chirma — o'rgan; razvedka 8.1).
G'ayrioddiyni o'rganish. Anomaliya — muammo emas, savol; anomaliya signal (ma'noli — kashfiyot), shovqin emas; ko'r-ko'rona o'chirish xavfli (kashfiyot yo'q — firibgarlik/kasallik aynan qiziq; ilmiy kashfiyot ko'pincha anomaliya). Tuzoqlar: ko'r-ko'rona o'chirish (kashfiyot yo'q), faqat univariate (kombinatsiya yashirin — 6.10), domen yo'q (xato/kashfiyot), naqsh e'tiborsiz (kontekst — scatter), tasodifiy (ko'p — p-qiymat), statistik faqat (domen/kontekst — biznes mantiq).
Keyingi darsda guruhlar va segmentlarni o'rganamiz: ma'lumotni mazmunli guruhlarga bo'lish — segmentatsiya (mijoz turlari), guruh bo'yicha tahlil (groupby chuqurroq — 3.8), va guruhlar orasidagi farq (Simpson — 8.4).
Izohlar (0)
Izoh yozish uchun kiring.
- Hozircha izoh yo'q. Birinchi bo'ling!