Intervyu savollari
Bu bob qanday tuzilgan
Har savol uchun uchta narsa bor: kuchsiz javob, kuchli javob va qaysi bobda o'rganilgani.
Kuchsiz javoblar — yodlangan ta'riflar. Kuchli javoblar — o'lchovga tayangan javoblar. Intervyuda farq aynan shunda ko'rinadi.
python4 qator
import pandas as pd def savollar(royxat): show(pd.DataFrame(royxat))
Asoslar
python18 qator
savollar([ {"Savol": "Overfitting nima?", "Kuchsiz javob": "Model train da yaxshi, test da yomon", "Kuchli javob": "Shu + 'uni o'quv egri chizig'i bilan aniqlayman: train va validation orasidagi farq kengaysa — overfitting, ikkisi ham past bo'lsa — underfitting'", "Bob": "10"}, {"Savol": "Bias va variance farqi?", "Kuchsiz javob": "Bias — siljish, variance — tarqoqlik", "Kuchli javob": "Shu + 'bir xil modelni boshqa train bo'laklarida o'qitib, bashoratlar qanchalik farq qilishini o'lchayman'", "Bob": "10, 18"}, {"Savol": "Qancha ma'lumot kerak?", "Kuchsiz javob": "Qanchalik ko'p bo'lsa, shunchalik yaxshi", "Kuchli javob": "'O'quv egri chizig'ini quraman: egri yassilansa, yangi ma'lumot foyda bermaydi — model yoki featureni o'zgartirish kerak'", "Bob": "10"}, {"Savol": "Train/val/test nega uchta?", "Kuchsiz javob": "Shunday qabul qilingan", "Kuchli javob": "'Val da giperparametr tanlayman, test ga BIR MARTA qarayman. Test ga qarab qaror qilsam, u val ga aylanadi va menda halol baho qolmaydi'", "Bob": "5"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Overfitting nima? | Model train da yaxshi, test da yomon | Shu + 'uni o'quv egri chizig'i bilan aniqlayman: train va validation orasidagi farq kengaysa — overfitting, ikkisi ham past bo'lsa — underfitting' | 10 |
| Bias va variance farqi? | Bias — siljish, variance — tarqoqlik | Shu + 'bir xil modelni boshqa train bo'laklarida o'qitib, bashoratlar qanchalik farq qilishini o'lchayman' | 10, 18 |
| Qancha ma'lumot kerak? | Qanchalik ko'p bo'lsa, shunchalik yaxshi | 'O'quv egri chizig'ini quraman: egri yassilansa, yangi ma'lumot foyda bermaydi — model yoki featureni o'zgartirish kerak' | 10 |
| Train/val/test nega uchta? | Shunday qabul qilingan | 'Val da giperparametr tanlayman, test ga BIR MARTA qarayman. Test ga qarab qaror qilsam, u val ga aylanadi va menda halol baho qolmaydi' | 5 |
Metrikalar
python18 qator
savollar([ {"Savol": "Accuracy qachon yaroqsiz?", "Kuchsiz javob": "Nomutanosib ma'lumotda", "Kuchli javob": "'99% salbiy bo'lsa, hammaga yo'q deydigan model 99% accuracy oladi va foydasiz. Shuning uchun avval baza accuracy ni hisoblayman — model undan oshmasa, model yo'q'", "Bob": "6, 7"}, {"Savol": "Precision va recall orasida qanday tanlaysiz?", "Kuchsiz javob": "Vazifaga qarab", "Kuchli javob": "'Xato NARXIga qarab. Kasallik skriningida FN qimmat — recall. Spam filtrida FP qimmat (muhim xat yo'qoladi) — precision'", "Bob": "7, 8"}, {"Savol": "ROC-AUC va PR-AUC?", "Kuchsiz javob": "Ikkisi ham egri chiziq ostidagi maydon", "Kuchli javob": "'Kuchli nomutanosiblikda ROC-AUC optimistik ko'rinadi, chunki TN soni katta. Kam uchraydigan sinf muhim bo'lsa, PR-AUC ni olaman'", "Bob": "8"}, {"Savol": "Threshold 0.5 bo'lishi shartmi?", "Kuchsiz javob": "Ha, standart", "Kuchli javob": "'Yo'q. U shunchaki predict() ning standart qiymati. Men uni validation da biznes maqsadiga qarab tanlayman'", "Bob": "8"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Accuracy qachon yaroqsiz? | Nomutanosib ma'lumotda | '99% salbiy bo'lsa, hammaga yo'q deydigan model 99% accuracy oladi va foydasiz. Shuning uchun avval baza accuracy ni hisoblayman — model undan oshmasa, model yo'q' | 6, 7 |
| Precision va recall orasida qanday tanlaysiz? | Vazifaga qarab | 'Xato NARXIga qarab. Kasallik skriningida FN qimmat — recall. Spam filtrida FP qimmat (muhim xat yo'qoladi) — precision' | 7, 8 |
| ROC-AUC va PR-AUC? | Ikkisi ham egri chiziq ostidagi maydon | 'Kuchli nomutanosiblikda ROC-AUC optimistik ko'rinadi, chunki TN soni katta. Kam uchraydigan sinf muhim bo'lsa, PR-AUC ni olaman' | 8 |
| Threshold 0.5 bo'lishi shartmi? | Ha, standart | 'Yo'q. U shunchaki predict() ning standart qiymati. Men uni validation da biznes maqsadiga qarab tanlayman' | 8 |
Leakage — eng ko'p so'raladigan mavzu
python14 qator
savollar([ {"Savol": "Data leakage nima?", "Kuchsiz javob": "Test ma'lumoti train ga tushib qolishi", "Kuchli javob": "'Modelga bashorat paytida MAVJUD BO'LMAYDIGAN ma'lumot tushishi. U bir necha shaklda keladi — eng xavflisi ustun nomidan bilinmaydigani'", "Bob": "5"}, {"Savol": "Leakage ning qanday turlarini bilasiz?", "Kuchsiz javob": "Test ni train ga qo'shib yuborish", "Kuchli javob": "'Scaler ni split dan oldin fit qilish; target encoding ni butun ma'lumotda hisoblash; feature selection ni Pipeline tashqarisida qilish; vaqt qatorini tasodifiy bo'lish; bitta obyektning ikki qatori train va test ga tushishi'", "Bob": "5, 22, 34, 37"}, {"Savol": "Leakage borligini qanday aniqlaysiz?", "Kuchsiz javob": "Natija juda yaxshi bo'lsa", "Kuchli javob": "'Natija kutilganidan yuqori chiqsa, feature importance ga qarayman. Bitta ustun hukmron bo'lsa, o'zimdan so'rayman: bu ustun bashorat paytida mavjudmi? Keyin uni olib tashlab, natija qanchalik tushishini o'lchayman'", "Bob": "5, 25, 44"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Data leakage nima? | Test ma'lumoti train ga tushib qolishi | 'Modelga bashorat paytida MAVJUD BO'LMAYDIGAN ma'lumot tushishi. U bir necha shaklda keladi — eng xavflisi ustun nomidan bilinmaydigani' | 5 |
| Leakage ning qanday turlarini bilasiz? | Test ni train ga qo'shib yuborish | 'Scaler ni split dan oldin fit qilish; target encoding ni butun ma'lumotda hisoblash; feature selection ni Pipeline tashqarisida qilish; vaqt qatorini tasodifiy bo'lish; bitta obyektning ikki qatori train va test ga tushishi' | 5, 22, 34, 37 |
| Leakage borligini qanday aniqlaysiz? | Natija juda yaxshi bo'lsa | 'Natija kutilganidan yuqori chiqsa, feature importance ga qarayman. Bitta ustun hukmron bo'lsa, o'zimdan so'rayman: bu ustun bashorat paytida mavjudmi? Keyin uni olib tashlab, natija qanchalik tushishini o'lchayman' | 5, 25, 44 |
Modellar
python18 qator
savollar([ {"Savol": "Random Forest va Gradient Boosting farqi?", "Kuchsiz javob": "Ikkisi ham daraxtlar ansambli", "Kuchli javob": "'RF — parallel, mustaqil daraxtlar, variance ni kamaytiradi. Boosting — ketma-ket, har biri oldingining xatosini tuzatadi, bias ni kamaytiradi va overfitting ga moyilroq'", "Bob": "18, 19"}, {"Savol": "Qaysi modeldan boshlaysiz?", "Kuchsiz javob": "XGBoost, u eng kuchli", "Kuchli javob": "'Avval baza (DummyClassifier), keyin logistic regression yoki bitta daraxt. Ular tez va tushunarli. Murakkab model faqat oddiy model yetmaganda'", "Bob": "6"}, {"Savol": "Deep learning qachon kerak?", "Kuchsiz javob": "Hozir hamma shuni ishlatadi", "Kuchli javob": "'Rasm, matn, audio, ketma-ketlikda. Jadval ma'lumotida gradient boosting odatda yutadi. Bu kitobda jadval ma'lumotida neyron tarmoq oddiy modellardan ustun kelmagani O'LCHANGAN'", "Bob": "29-35"}, {"Savol": "Scaling qaysi modellarga kerak?", "Kuchsiz javob": "Hammasiga", "Kuchli javob": "'Masofaga va gradientga tayanadiganlarga: KNN, SVM, neyron tarmoq, regularizatsiyali chiziqli modellar. Daraxtlarga kerak emas — ular chegara bo'yicha bo'ladi'", "Bob": "16, 20, 21"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Random Forest va Gradient Boosting farqi? | Ikkisi ham daraxtlar ansambli | 'RF — parallel, mustaqil daraxtlar, variance ni kamaytiradi. Boosting — ketma-ket, har biri oldingining xatosini tuzatadi, bias ni kamaytiradi va overfitting ga moyilroq' | 18, 19 |
| Qaysi modeldan boshlaysiz? | XGBoost, u eng kuchli | 'Avval baza (DummyClassifier), keyin logistic regression yoki bitta daraxt. Ular tez va tushunarli. Murakkab model faqat oddiy model yetmaganda' | 6 |
| Deep learning qachon kerak? | Hozir hamma shuni ishlatadi | 'Rasm, matn, audio, ketma-ketlikda. Jadval ma'lumotida gradient boosting odatda yutadi. Bu kitobda jadval ma'lumotida neyron tarmoq oddiy modellardan ustun kelmagani O'LCHANGAN' | 29-35 |
| Scaling qaysi modellarga kerak? | Hammasiga | 'Masofaga va gradientga tayanadiganlarga: KNN, SVM, neyron tarmoq, regularizatsiyali chiziqli modellar. Daraxtlarga kerak emas — ular chegara bo'yicha bo'ladi' | 16, 20, 21 |
Amaliy savollar
python18 qator
savollar([ {"Savol": "Bo'sh qiymatlar bilan nima qilasiz?", "Kuchsiz javob": "Median bilan to'ldiraman", "Kuchli javob": "'Avval NEGA bo'sh ekanini tekshiraman — tasodifanmi yoki tizimlimi. Bo'shligi o'zi signal bo'lsa, bayroq ustun qo'shaman. Imputer Pipeline ICHIDA bo'ladi, aks holda leakage'", "Bob": "4"}, {"Savol": "Kategorik ustunni qanday kodlaysiz?", "Kuchsiz javob": "LabelEncoder bilan", "Kuchli javob": "'Kam toifali bo'lsa OneHot. Ko'p toifali bo'lsa target encoding — lekin u faqat train da hisoblanishi SHART. LabelEncoder tartib yaratadi va tartibsiz toifada xato'", "Bob": "4, 22"}, {"Savol": "Nomutanosib sinflarni qanday hal qilasiz?", "Kuchsiz javob": "SMOTE bilan", "Kuchli javob": "'Avval metrikani to'g'rilayman (F1, PR-AUC). Keyin class_weight. SMOTE ni faqat train da, Pipeline ichida va natijani o'lchab — u har doim ham yordam bermaydi'", "Bob": "8"}, {"Savol": "Model ishlab chiqarishda yomonlashdi. Nega?", "Kuchsiz javob": "Qayta o'qitish kerak", "Kuchli javob": "'Avval sababni topaman: kirish taqsimoti o'zgardimi (drift), tayyorlash zanjiri bir xilmi, offline baho leakagesiz edimi. Qayta o'qitish — sabab aniqlangandan KEYIN'", "Bob": "10, 39, 40"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Bo'sh qiymatlar bilan nima qilasiz? | Median bilan to'ldiraman | 'Avval NEGA bo'sh ekanini tekshiraman — tasodifanmi yoki tizimlimi. Bo'shligi o'zi signal bo'lsa, bayroq ustun qo'shaman. Imputer Pipeline ICHIDA bo'ladi, aks holda leakage' | 4 |
| Kategorik ustunni qanday kodlaysiz? | LabelEncoder bilan | 'Kam toifali bo'lsa OneHot. Ko'p toifali bo'lsa target encoding — lekin u faqat train da hisoblanishi SHART. LabelEncoder tartib yaratadi va tartibsiz toifada xato' | 4, 22 |
| Nomutanosib sinflarni qanday hal qilasiz? | SMOTE bilan | 'Avval metrikani to'g'rilayman (F1, PR-AUC). Keyin class_weight. SMOTE ni faqat train da, Pipeline ichida va natijani o'lchab — u har doim ham yordam bermaydi' | 8 |
| Model ishlab chiqarishda yomonlashdi. Nega? | Qayta o'qitish kerak | 'Avval sababni topaman: kirish taqsimoti o'zgardimi (drift), tayyorlash zanjiri bir xilmi, offline baho leakagesiz edimi. Qayta o'qitish — sabab aniqlangandan KEYIN' | 10, 39, 40 |
Deploy va muhandislik
python18 qator
savollar([ {"Savol": "Modelni qanday saqlaysiz?", "Kuchsiz javob": "joblib.dump(model)", "Kuchli javob": "'Butun Pipeline ni saqlayman, faqat modelni emas. Yoniga manifest qo'yaman: versiyalar, kutilgan ustunlar, metrikalar. Va saqlash-yuklash aylanma sinovini o'tkazaman'", "Bob": "39"}, {"Savol": "pickle xavfsizmi?", "Kuchsiz javob": "Ha, standart kutubxona", "Kuchli javob": "'Yo'q. pickle yuklash KOD BAJARADI. Foydalanuvchi yuborgan faylni hech qachon yuklamayman. Nazoratsiz muhitda ONNX ishlataman — u ma'lumot, kod emas'", "Bob": "39"}, {"Savol": "API da modelni qayerda yuklaysiz?", "Kuchsiz javob": "View ichida", "Kuchli javob": "'Modul darajasida, bir marta. View ichida yuklash har so'rovda diskdan o'qiydi va xotirani ko'paytiradi. Bu kitobda farq o'lchangan'", "Bob": "40"}, {"Savol": "Kirishni qayerda tekshirasiz?", "Kuchsiz javob": "Model o'zi xato beradi", "Kuchli javob": "'Chegarada, model ko'rmasdan oldin. Tip, diapazon, ruxsat etilgan qiymatlar. Chunki model noto'g'ri kirishda xato bermasligi ham mumkin — JIM noto'g'ri javob beradi'", "Bob": "37, 39, 40"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Modelni qanday saqlaysiz? | joblib.dump(model) | 'Butun Pipeline ni saqlayman, faqat modelni emas. Yoniga manifest qo'yaman: versiyalar, kutilgan ustunlar, metrikalar. Va saqlash-yuklash aylanma sinovini o'tkazaman' | 39 |
| pickle xavfsizmi? | Ha, standart kutubxona | 'Yo'q. pickle yuklash KOD BAJARADI. Foydalanuvchi yuborgan faylni hech qachon yuklamayman. Nazoratsiz muhitda ONNX ishlataman — u ma'lumot, kod emas' | 39 |
| API da modelni qayerda yuklaysiz? | View ichida | 'Modul darajasida, bir marta. View ichida yuklash har so'rovda diskdan o'qiydi va xotirani ko'paytiradi. Bu kitobda farq o'lchangan' | 40 |
| Kirishni qayerda tekshirasiz? | Model o'zi xato beradi | 'Chegarada, model ko'rmasdan oldin. Tip, diapazon, ruxsat etilgan qiymatlar. Chunki model noto'g'ri kirishda xato bermasligi ham mumkin — JIM noto'g'ri javob beradi' | 37, 39, 40 |
Tuzoq savollar
python18 qator
savollar([ {"Savol": "Modelim 99% accuracy berdi. Nima deysiz?", "Kuchsiz javob": "Juda yaxshi natija", "Kuchli javob": "'Avval ikkita savol: sinflar taqsimoti qanday va baza nima beradi? Keyin uchinchisi: leakage yo'qmi? 99% ko'pincha xato belgisi, muvaffaqiyat emas'", "Bob": "5, 6, 7"}, {"Savol": "Feature importance ustunni muhim deb ko'rsatdi. Demak u sabab?", "Kuchsiz javob": "Ha", "Kuchli javob": "'Yo'q. Muhimlik — model shu ustundan foydalanganini bildiradi, sababni emas. Sabab uchun tajriba kerak'", "Bob": "25, 45"}, {"Savol": "Cross-validation natijasi 0.85. Test da ham shunday bo'ladimi?", "Kuchsiz javob": "Ha", "Kuchli javob": "'Agar CV to'g'ri qurilgan bo'lsa — taxminan. Lekin CV ni ko'p marta ishlatib model tanlagan bo'lsam, CV natijasi optimistik bo'ladi'", "Bob": "9, 23"}, {"Savol": "Qaysi algoritm eng yaxshi?", "Kuchsiz javob": "XGBoost / neyron tarmoq", "Kuchli javob": "'Ma'lumotga bog'liq, oldindan aytib bo'lmaydi. Shuning uchun bazani qo'yaman va bir nechta modelni bir xil sharoitda o'lchayman'", "Bob": "6, 19, 24"}, ])
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Modelim 99% accuracy berdi. Nima deysiz? | Juda yaxshi natija | 'Avval ikkita savol: sinflar taqsimoti qanday va baza nima beradi? Keyin uchinchisi: leakage yo'qmi? 99% ko'pincha xato belgisi, muvaffaqiyat emas' | 5, 6, 7 |
| Feature importance ustunni muhim deb ko'rsatdi. Demak u sabab? | Ha | 'Yo'q. Muhimlik — model shu ustundan foydalanganini bildiradi, sababni emas. Sabab uchun tajriba kerak' | 25, 45 |
| Cross-validation natijasi 0.85. Test da ham shunday bo'ladimi? | Ha | 'Agar CV to'g'ri qurilgan bo'lsa — taxminan. Lekin CV ni ko'p marta ishlatib model tanlagan bo'lsam, CV natijasi optimistik bo'ladi' | 9, 23 |
| Qaysi algoritm eng yaxshi? | XGBoost / neyron tarmoq | 'Ma'lumotga bog'liq, oldindan aytib bo'lmaydi. Shuning uchun bazani qo'yaman va bir nechta modelni bir xil sharoitda o'lchayman' | 6, 19, 24 |
O'zingizdan so'raladigan savol
python9 qator
savollar([ {"Savol": "Bizga nima savolingiz bor?", "Kuchsiz javob": "Yo'q, hammasi tushunarli", "Kuchli javob": "'Modellaringizni qanday baholaysiz va ishlab chiqarishda qanday kuzatasiz?' — bu savol sizning tajribangizni ko'rsatadi", "Bob": "-"}, ]) print("Intervyuda eng kuchli javob — 'men buni O'LCHAB ko'rganman' deb aytib,") print("qanday o'lchaganini tushuntirish. Shuning uchun bu kitobdagi har bob") print("o'lchov bilan tugaydi: sizda aytadigan gap bo'lsin.")
Chiqish
Intervyuda eng kuchli javob — 'men buni O'LCHAB ko'rganman' deb aytib, qanday o'lchaganini tushuntirish. Shuning uchun bu kitobdagi har bob o'lchov bilan tugaydi: sizda aytadigan gap bo'lsin.
| Savol | Kuchsiz javob | Kuchli javob | Bob |
|---|---|---|---|
| Bizga nima savolingiz bor? | Yo'q, hammasi tushunarli | 'Modellaringizni qanday baholaysiz va ishlab chiqarishda qanday kuzatasiz?' — bu savol sizning tajribangizni ko'rsatadi | - |
Bu bobni bepul o'qidingiz.
Kitob o'rgatadi, lekin sizning kodingiz nega ishlamaganini ayta olmaydi. Kursda uy vazifangiz tekshiriladi.