Logo Lanfrica

sarah1iy1/smart-health-assistant

Domaine:

healthcare

Type de record:

software
Créateur:
sar
Hôte:
A chatbot that helps users identify common fever-related diseases in Nigeria (Malaria, Typhoid, Dengue, Yellow Fever, Influenza) based on their reported symptoms. # Smart Health Assistant — Nigeria Fever Chatbot System ## Project Overview An AI-powered chatbot that helps users identify common fever-related diseases in Nigeria (Malaria, Typhoid, Dengue, Yellow Fever, Influenza) based on their reported symptoms. ## File Structure ``` smart_health_assistant/ │ ├── data/ │ └── NigeriaFeverDatasets_corrected.xlsx ← Dataset │ ├── models/ ← Auto-created after training │ ├── naive_bayes_pipeline.pkl │ ├── decision_tree_model.pkl │ ├── vectorizer.pkl │ ├── feature_weights.pkl │ └── symptoms_by_disease.pkl │ ├── charts/ ← Auto-created during EDA │ ├── data_preprocessing_eda.py ← Data Preprocessing + EDA ├── train_model.py ← Model Training + Save .pkl ├── chatbot_logic.py ← Chatbot Engine ├── app.py ← Streamlit Web Application ├── requirements.txt └── README.md ``` ## Setup (VS Code) ### 1. Install dependencies ```bash pip install -r requirements.txt ``` ### 2. Run EDA (optional — generates charts) ```bash python data_preprocessing_eda.py ``` ### 3. Train the ML models (REQUIRED before running app) ```bash python train_model.py ``` ### 4. Launch the Streamlit app ```bash streamlit run app.py ``` Open your browser at: localhost ## Algorithms Used | Algorithm | Role | |--------------------|-----------------------------------------| | Naïve Bayes | Primary disease prediction (60% weight) | | Cosine Similarity | Symptom vector matching (40% weight) | | Decision Tree | Interpretable rule extraction / backup | | Rule-Based System | Keyword → symptom_code extraction | ## Technologies - Python 3.10+ - NumPy, Pandas — data handling - Scikit-learn — ML models - Streamlit — web interface - Pickle (.pkl) — model serialisation - Matplotlib, Seaborn — visualisation ## Code La …