Topshiriqlar 3

Quyidagi topshiriqlar bayes_methods.ipynb dagi COVID-19 misoli va diabet to‘plami misoli asosida tuzilgan.

A. Bayes teoremasi (bitta alomat)

  1. Shartli ehtimollik ta’rifidan foydalanib Bayes teoremasini keltirib chiqaring: \(Pr(A\mid B)=\frac{Pr(B\mid A)Pr(A)}{Pr(B)}\).

  2. Quyidagi jadval (COVID testi va isitma) berilgan:

    Ijobiy

    Salbiy

    Jami

    Isitmasi bor

    30

    5

    35

    Isitmasi yo‘q

    10

    55

    65

    Jami

    40

    60

    100

    1. Prior ehtimolliklarni toping: \(Pr(Ijobiy)\), \(Pr(Salbiy)\), \(Pr(Isitma\,bor)\), \(Pr(Isitma\,yo‘q)\).

    2. Likelihood(lar)ni toping: \(Pr(Isitma\,bor\mid Ijobiy)\), \(Pr(Isitma\,bor\mid Salbiy)\).

    3. Bayes orqali \(Pr(Ijobiy\mid Isitma\,bor)\) ni hisoblang va jadvaldan bevosita \(30/35\) bilan solishtiring.

  3. (Tibbiy talqin) Jadvaldan quyidagilarni toping va izohlang:

    1. Sezgirlik (sensitivity): \(Pr(Isitma\,bor\mid Ijobiy)\)

    2. Xoslik (specificity): \(Pr(Isitma\,yo‘q\mid Salbiy)\)

    3. Musbat bashorat qiymati (PPV): \(Pr(Ijobiy\mid Isitma\,bor)\)

    4. Manfiy bashorat qiymati (NPV): \(Pr(Salbiy\mid Isitma\,yo‘q)\)

B. Ko‘p alomat (Naive Bayes g‘oyasi)

  1. Quyidagi jadval (COVID testi va bosh og‘rig‘i) berilgan:

    Ijobiy

    Salbiy

    Jami

    Bosh og‘rig‘i bor

    35

    15

    50

    Bosh og‘rig‘i yo‘q

    5

    45

    50

    Jami

    40

    60

    100

    1. \(Pr(Ijobiy\mid Bosh\,og‘rig‘i\,bor)\) ni Bayes orqali hisoblang.

    2. \(Pr(Salbiy\mid Bosh\,og‘rig‘i\,bor)\) ni ham toping va yig‘indisi 1 ga tengligini tekshiring.

  2. (Naive Bayes taxmini) Isitma va bosh og‘rig‘i sinf berilganda mustaqil deb faraz qiling.

    1. Un-normalized (normallashmagan) qiymatlarni hisoblang: \(score_{+}=Pr(Ijobiy)\,Pr(Isitma\,bor\mid Ijobiy)\,Pr(Bosh\,og‘rig‘i\,bor\mid Ijobiy)\) va \(score_{-}=Pr(Salbiy)\,Pr(Isitma\,bor\mid Salbiy)\,Pr(Bosh\,og‘rig‘i\,bor\mid Salbiy)\).

    2. Normallash (posterior) qiling: \(Pr(Ijobiy\mid Isitma\,bor, Bosh\,og‘rig‘i\,bor)=\frac{score_{+}}{score_{+}+score_{-}}\).

    3. Natijani oddiy tilda talqin qiling: ikkala alomat birga bo‘lsa, “ijobiy” ehtimoli qanday o‘zgaradi?

  3. (Model tanqidi) Naive Bayes taxmini qachon buzilishi mumkin? Isitma va bosh og‘rig‘i misolida 2 ta sabab yozing.

C. Amaliy Naive Bayes: diabet misoli

  1. datasets.py dagi diabet_train() va diabet_test() funksiyalaridan foydalanib o‘rgatuvchi va test to‘plamlarni oling.

    1. O‘rgatuvchi to‘plamda sinflar ulushini (prior) toping: \(Pr(y=1)\) va \(Pr(y=0)\).

    2. Nega priorlar muhim? 2–3 gap bilan izohlang.

  2. utils.py dagi bayes_compute_parameters(x, y, col) funksiyasini o‘qing.

    1. Funksiya qaytarayotgan probs1 va probs2 aslida qaysi ehtimolliklarga mos kelishi kerak? (Aniq yozing: \(Pr(X_j=v\mid y=1)\) kabi.)

    2. Hisoblashdagi asosiy muammo nimada? (Ishora: maxrajda nima turishi kerak?)

    3. Funksiyani shunday tuzatingki, u haqiqiy shartli ehtimolliklarni qaytarsin (sinflar bo‘yicha alohida normallash).

  3. Bir dona alomat uchun jadval tuzing:

    1. Ixtiyoriy bitta alomat indeksini tanlang (masalan, col=12 kabi).

    2. Har bir toifa qiymati uchun \(y=1\) va \(y=0\) da necha marta uchraganini sanang.

    3. Natijani markdown jadval ko‘rinishida chiqaring.

  4. (Nol ehtimollik muammosi) Agar test obyektida uchragan biror qiymat o‘rgatuvchi sinflardan birida umuman uchramagan bo‘lsa, Naive Bayesda nima sodir bo‘ladi?

  1. Bu muammoni Laplace smoothing bilan qanday hal qilsa bo‘ladi? Formulani yozing.

  2. Smoothing yoqilgan va o‘chirilgan holatni bitta alomatda taqqoslang.

  1. (Underflow) 20 ta alomatning ehtimolliklarini ko‘paytirganda son juda kichik bo‘lib ketishi mumkin.

  1. Nega bu muammo paydo bo‘ladi?

  2. Log-ehtimolliklar yordamida qaror qabul qilishni yozing (\(\log\) yig‘indiga aylanadi).

  1. Naive Bayes klassifikatori yozing:

  1. Har bir sinf uchun \(\log Pr(y) + \sum_j \log Pr(X_j=v_j\mid y)\) ballni hisoblang.

  2. Eng katta ballga ega sinfni bashorat qiling.

  1. Test to‘plamda baholang:

  1. Aniqlik (accuracy) ni hisoblang.

  2. Confusion matrix (TP, FP, TN, FN) ni hisoblang.

  3. Precision, recall, F1 ni toping.

  1. (Tahlil) Sizning modelingiz qaysi turdagi xatoni ko‘proq qiladi: diabet borlarni o‘tkazib yuborishmi (FN) yoki yo‘q bo‘lsa ham diabet deyishmi (FP)? Nega bu tibbiyotda muhim?

  2. (Kichik tajriba) Alomatlar sonini kamaytirib ko‘ring:

  1. Faqat 1–2 ta alomat bilan model qurib ko‘ring.

  2. 5 ta alomat bilan.

  3. 20 ta alomat bilan.

  4. Natijalarni taqqoslab, Naive Bayesda ko‘p alomat qo‘shish har doim foydalimi-yo‘qmi xulosa qiling.