rifatmon's picture
feat: Updated README.md
19386a9 verified
metadata
title: Wellness Activity Recommendation API
emoji: πŸ§˜β€β™€οΈ
colorFrom: indigo
colorTo: purple
sdk: docker
sdk_version: latest
app_file: app.py
pinned: false

Health & Wellness Activity Recommendation API

API untuk prediksi rekomendasi aktivitas wellness berdasarkan profil pengguna menggunakan Random Forest Classifier.

Deskripsi Model

Model ini memprediksi aktivitas wellness favorit pengguna berdasarkan karakteristik berikut:

  • Umur: Usia pengguna (angka)
  • Jenis Kelamin: "Laki-laki" atau "Perempuan"
  • Kota: Kota asal pengguna
  • Frekuensi: Frekuensi aktivitas ("Sekali sebulan", "Setiap tahun", dll.)
  • Anggaran/Kunjungan (IDR): Budget per kunjungan dalam Rupiah
  • Kemauan Bepergian: "Domestik", "Regional", atau "Internasional"
  • Metode Pemesanan: Cara booking yang disukai
  • Tujuan Utama: Tujuan utama wellness
  • Yang Dicari: Aspek yang dicari dari aktivitas wellness

Target Prediksi

Model dapat memprediksi 6 jenis aktivitas wellness:

  1. Pemandian Air Panas
  2. Pijat Terapi
  3. Retret Kesehatan
  4. Retret Yoga
  5. Spa
  6. Terapi Herbal

API Endpoints

1. Home - GET /

Menampilkan informasi dasar API.

2. Health Check - GET /health

Mengecek status kesehatan API dan model.

3. Model Info - GET /model_info

Menampilkan informasi tentang model dan fitur yang digunakan.

4. Single Prediction - POST /predict

Request Body:

{
    "Umur": 35,
    "Jenis Kelamin": "Laki-laki",
    "Kota": "Bandung",
    "Frekuensi": "Setiap tiga bulan",
    "Anggaran/Kunjungan (IDR)": 1500000,
    "Kemauan Bepergian": "Domestik",
    "Metode Pemesanan": "Website",
    "Tujuan Utama": "Relaksasi",
    "Yang Dicari": "Relaksasi"
}

Response:

{
    "all_probabilities": {
        "Pemandian Air Panas": 0.2359067587323272,
        "Pijat Terapi": 0.7094768120137803,
        "Retret Kesehatan": 0.0,
        "Retret Yoga": 0.0007123315432161314,
        "Spa": 0.0539040977106761,
        "Terapi Herbal": 0.0
    },
    "confidence": 0.7094768120137803,
    "input_data": {
        "Anggaran/Kunjungan (IDR)": 1500000,
        "Frekuensi": "Setiap tiga bulan",
        "Jenis Kelamin": "Laki-laki",
        "Kemauan Bepergian": "Domestik",
        "Kota": "Bandung",
        "Metode Pemesanan": "Website",
        "Tujuan Utama": "Relaksasi",
        "Umur": 35,
        "Yang Dicari": "Relaksasi"
    },
    "prediction": "Pijat Terapi"
}

Testing dengan Postman

  1. Base URL: https://your-space-name-your-username.hf.space
    Dalam kasus ini, dapat menggunakan: https://rifatmon-rfc-infinitelearning.hf.space sebagai {base_url}

  2. Test Health Check:

    • Method: GET
    • URL: {base_url}/health
  3. Test Single Prediction:

    • Method: POST
    • URL: {base_url}/predict
    • Headers: Content-Type: application/json
    • Body: JSON data contoh di atas

Local Development

Menjalankan Lokal

# Install dependencies
pip install -r requirements.txt

# Copy dataset ke folder Deployment
cp ../dataset_user_2.csv .

# Jalankan aplikasi
python app.py

API akan berjalan di http://localhost:7860

Contoh Input pada JSON Body saat melakukan request

Jenis Kelamin

  • "Laki-laki"
  • "Perempuan"

Kota

  • "Jakarta"
  • "Bali"
  • "Yogyakarta"
  • "Surabaya"
  • "Bandung"
  • Dan kota lainnya

Frekuensi

  • "Sekali sebulan"
  • "Setiap tahun"
  • "Setiap tiga bulan"
  • "Dua kali setahun"
  • "Sekali setiap 2 bulan"

Kemauan Bepergian

  • "Domestik"
  • "Regional"
  • "Internasional"

Metode Pemesanan

  • "Aplikasi Seluler"
  • "Pemesanan Email"
  • "Media Sosial"
  • "Website"
  • "Telepon"

Tujuan Utama

  • "Relaksasi"
  • "Kesehatan"
  • "Spiritual"
  • "Kecantikan"
  • "Detoks"

Yang Dicari

  • "Kecantikan"
  • "Kesehatan"
  • "Relaksasi"
  • "Spiritual"
  • "Detoks"