
MediXplain
Calibrated disease prediction with retrieved evidence
- 83.09%
- best model accuracy
- ~190K
- patient records
- 377
- symptoms
- 727
- conditions
“In symptom checking, a confidently wrong answer is worse than no answer.”
Symptom checkers return a label and a percentage that means nothing — the confidence is uncalibrated, and there is no evidence a user could independently verify.
Seven scikit-learn classifiers are trained and benchmarked in one command and the best is persisted automatically. Probability calibration aligns reported confidence with observed accuracy, predictions are returned as a top-3 differential rather than one hard label, and a FAISS retrieval layer over 384-dimensional sentence-transformer embeddings attaches supporting medical evidence to every prediction.
What makes it
work.
Logistic Regression, Linear SVM, Bernoulli NB, Decision Tree, Random Forest, AdaBoost and an MLP, 5-fold cross-validated.
FAISS vector search over a paragraph knowledge base, with a TF-IDF path retained as a lightweight fallback.
Optional deep-learning branch with LSTM and GRU sequence models over symptom text.
GitHub Actions pipeline running linting and tests across a Python 3.10–3.12 matrix on every change.
In the interface.
03 screensBuilt with.
- Python
- scikit-learn
- FAISS
- sentence-transformers
- Flask
- RAG