Winning the District Level Project Expo
At the District Level Science & Tech Software Expo (YOUTH@2050), my project MRS-AI / Medicine-Recommendation-System won 1st Prize with a 7000 Rs. prize pool.
The challenge: Primary health centers and rural clinics often face severe shortages of specialist doctors. Patients with early or multiple overlapping symptoms need reliable triage guidance with safety guardrails.
Machine Learning Pipeline
The core AI engine predicts potential medical conditions based on $132$ discrete symptom inputs and prescribes verified pharmaceutical categories, dietary recommendations, and contraindication precautions.
1. Model Selection & Cross-Validation
We benchmarked 5 supervised classification algorithms on clinical prognosis datasets:
- Decision Tree Classifier: $92.1\%$ accuracy (overfitted on sparse symptoms).
- Gaussian Naive Bayes: $88.4\%$ accuracy (conditional independence assumption failed on correlated symptoms).
- Random Forest (100 Trees): $96.8\%$ accuracy.
- Support Vector Classifier (Linear Kernel, $C=1.0$): $98.2\%$ accuracy with highest generalization stability.
import pickle
import numpy as np
# Symptom vectorization and inference engine
def predict_disease_and_regimen(symptoms_list, model, symptoms_dict, disease_metadata):
input_vector = np.zeros(len(symptoms_dict))
for symptom in symptoms_list:
clean_name = symptom.strip().lower().replace(" ", "_")
if clean_name in symptoms_dict:
input_vector[symptoms_dict[clean_name]] = 1
prediction_idx = model.predict([input_vector])[0]
disease_name = model.classes_[prediction_idx]
# Retrieve structured precautions & medications
regimen = disease_metadata.get(disease_name, {})
return {
"disease": disease_name,
"medications": regimen.get("medications", []),
"diet": regimen.get("diet", []),
"precautions": regimen.get("precautions", [])
}UI/UX & Deployment
Built with Python Flask, HTML5, and responsive CSS, providing instantaneous (< 25ms) offline inference on standard low-power clinic laptops.
