Aplikasi Flask untuk prediksi kesehatan menggunakan Machine Learning Gaussian Naive Bayes.
flask-app/
├── app.py # Flask main application
├── requirements.txt # Python dependencies
├── README.md # Dokumentasi
├── models/ # Folder untuk menyimpan model pickle
│ ├── diabetes_model.pkl
│ ├── diabetes_metadata.json
│ ├── blood_test_model.pkl
│ ├── blood_test_metadata.json
│ ├── sleep_disorder_model.pkl
│ └── sleep_disorder_metadata.json
├── templates/ # HTML templates
│ ├── index.html # Dashboard halaman utama
│ ├── diabetes.html # Halaman prediksi Diabetes
│ ├── blood_test.html # Halaman prediksi Blood Test
│ ├── sleep_disorder.html # Halaman prediksi Sleep Disorder
│ ├── test_model.html # Halaman untuk test model
│ ├── about.html # Halaman tentang aplikasi
│ └── 404.html # Halaman error
├── static/ # Static files
│ ├── css/
│ │ └── style.css # Styling utama
│ └── js/ # JavaScript files (opsional)
├── tests/ # Unit tests
│ └── test_app.py # Test file
└── data/ # Sample data (opsional)
- Dashboard (index.html) - Menampilkan semua model dan metriknya
- Prediksi Diabetes (diabetes.html) - Form untuk prediksi diabetes
- Prediksi Blood Test (blood_test.html) - Form untuk prediksi memprediksi klasifikasi pasien) berdasarkan data pemeriksaan darah
- Prediksi Sleep Disorder (sleep_disorder.html) - Form untuk deteksi gangguan tidur
- Test Model (test_model.html) - Untuk testing akurasi model
Plus:
- About Page - Informasi tentang aplikasi
- Error Page (404) - Halaman error
pip install -r requirements.txtSebelum menjalankan Flask app, salin model yang sudah dilatih:
# Jalankan tubes.py terlebih dahulu untuk generate model
python tubes.py
# Salin folder models dari output ke flask-app/models
cp -r tubes/outputs/models/* flask-app/models/python app.pyAplikasi akan berjalan di http://localhost:5000
# Run semua tests
python -m pytest tests/
# Atau
python tests/test_app.pyGET /- Dashboard halaman utamaGET /about- Halaman tentangGET /diabetes- Halaman prediksi diabetesGET /blood-test- Halaman prediksi blood testGET /sleep-disorder- Halaman prediksi sleep disorderGET /test-model- Halaman test modelGET /api/model-info/<model_name>- Get info model
-
POST /api/predict- Prediksi menggunakan model{ "model_name": "diabetes", "features": [0, 137, 40, 35, 168, 43.1, 2.288, 33] } -
POST /api/test-accuracy- Test accuracy model{ "actual": [1, 0, 1, 0], "predicted": [1, 0, 1, 1] }
- Target: Prediksi diabetes (0/1)
- Features: 8 variabel kesehatan
- Input: pregnancies, glucose, blood_pressure, skin_thickness, insulin, bmi, diabetes_pedigree, age
- Target: Sumber tes darah (Normal/Patient)
- Features: 6 variabel tes darah
- Input: age, wbc, rbc, hgb, hct, plt
- Target: Jenis gangguan tidur (None/Insomnia/Sleep Apnea)
- Features: 7 variabel tidur
- Input: age, sleep_duration, quality_of_sleep, physical_activity, stress_level, heart_rate, daily_steps
✅ Dashboard dengan metrik model
✅ Prediksi real-time
✅ Test akurasi model
✅ API endpoints
✅ Responsive design
✅ Unit tests
Edit file app.py untuk mengubah:
- Port:
port=5000 - Host:
host='localhost' - Debug mode:
debug=True
- Model disimpan dalam format pickle (.pkl)
- Metadata model disimpan dalam format JSON (.json)
- Aplikasi menggunakan Gaussian Naive Bayes
- Semua input akan di-scale sebelum prediksi
Aplikasi ini untuk tujuan edukatif. Selalu konsultasikan dengan profesional medis untuk diagnosis yang akurat.
Created by:
- ABdullah Luthfi (luthfikkc@gmail.com)
- Daniel Febrian Sijabat (danielsijaban@gmail.com)
Date: 2026
Untuk pertanyaan atau bantuan, silakan hubungi developer.