a model sitting in a notebook doesn't help anyone. i wanted the prediction to be one form-submit away.
how it works
15,000 clinical records are cleaned down to 10,471, then random forest and XGBoost are compared; XGBoost won (0.993 vs 0.983 AUC) and ships behind a FastAPI endpoint.
what i learned
the feature-engineering pass moved the needle more than swapping algorithms did.
results
0.993 AUC and 96.1% accuracy on 2,095 held-out records.
the FastAPI endpoint returns a diabetes probability from the saved XGBoost model.