[FAQ] HW5 (2026): predict_proba differs — locked env, artifact checksum, normalize_record
Maintainer thường phản hồi trong vòng 2 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 1/5
- Thời gian dự kiến
- Dưới một giờ
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tài liệu
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- docker, numpy, python, scikit-learn
- Lĩnh vực
- documentation, machine-learning
Hướng nghiên cứu
The issue already provides a full FAQ answer, including commands and references to cohorts/2026/homework/05-deployment/homework.md and model.py. Check whether that guidance matches the frozen homework release and API behavior; done means the answer is accurate and resolves the reported probability mismatch. The FAQ checklist says the answer is already complete, so this is not an evident first contribution.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Course
machine-learning-zoomcamp
Question
Homework 5 (2026): Why do my predict_proba results differ from the expected options, even though my code runs without errors?
Answer
Fix first — make sure you run the frozen 2026 release exactly as checked in, without retraining or regenerating anything:
-
Verify the artifact before using it (from
cohorts/2026/homework/05-deployment/):sha256sum pipeline.binIt must match the hash in
homework.md. If it differs, re-download the directory instead of debugging numbers. -
Use the locked environment, don't regenerate it:
uv sync --lockedDo not run
uv syncwithout--lockedand do not regenerateuv.lock. A different scikit-learn/numpy build can shift probabilities. -
Normalize the lead exactly like the API does (
model.py):import pickle from model import normalize_record with open("pipeline.bin", "rb") as f: pipeline = pickle.load(f) record = normalize_record(lead) # training-set medians, "NA" for missing categoricals prob = float(pipeline.predict_proba([record])[0, 1])Hand-rolling imputation (e.g.
fillna(0)) instead ofnormalize_recordchanges the vector and the probability. -
Serve and containerize without edits:
uv run uvicorn predict:app --host 0.0.0.0 --port 9696 docker build -t zoomcamp-model:2026-hw5 . docker run --rm -p 9696:9696 zoomcamp-model:2026-hw5 curl -s http://localhost:9696/healthFree port 9696 first (stop any local uvicorn). The container must return the same inference as local; if it doesn't, the artifact or lockfile inside the build context differs.
Reference: cohorts/2026/homework/05-deployment/homework.md (frozen lead-scoring release, DictVectorizer + LogisticRegression(solver="liblinear", C=1.0)).
Checklist
- I have searched existing FAQs and this question is not already answered
- The answer provides accurate, helpful information
- I have included any relevant code examples or links
- Ngôn ngữ chính
- Python
- Star
- 7
- Fork
- 20
- Merge trung bình
- 7 ngày 9 giờ
- Pull request đã merge (30 ngày)
- 8
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DataTalksClub/faq
-
[FAQ]Có thể đã có người làm @github-actions đã nhận hôm nay. Đang mởfaq-proposal
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
DataTalksClub/faq#521 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
DataTalksClub/faq#518 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[FAQ] Commit ID for ProjectsCó thể đã có người làm @github-actions đã nhận 2 ngày trước. Đang mởfaq-proposal
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 84/100
DataTalksClub/faq#503 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
DataTalksClub/faq#486 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
[FAQ] Can I deploy my final project without a credit card using separate frontend, API, and database services?Có thể đã có người làm @github-actions đã nhận 1 ngày trước. Đang mởfaq-proposal
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 30/100
DataTalksClub/faq#519 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 2 ngày
Tất cả issue của DataTalksClub/faq
Issue tương tự
-
PAC Wording
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Harmony OPeNDAP SubSetter (HOSS) Geographic production rssmif16d 7 XYZ_PROV
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
nasa/harmony-autotester#372 ·
-
Add DomainĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 65/100
disposable/disposable#318 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
developmentseed/titiler-cmr#270 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Chart: a failed venv install is marked ready, and the 10Gi venv PVC is too small for itCó thể đã có người làm @andyne13 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
Maintainer thường phản hồi trong vòng 1 ngày