SmartBank Logo

SmartBank Model Weights

SmartBank Model Weights adalah model machine learning yang dilatih untuk memprediksi keberhasilan kampanye telemarketing perbankan (Deposito Berjangka). Model ini dirancang untuk membantu tim pemasaran memprioritaskan nasabah yang memiliki probabilitas konversi tertinggi.

Repository ini berisi file model terkompresi (.pkl) .


Deskripsi Model

Arsitektur

Model ini menggunakan pendekatan Ensemble Learning untuk mencapai performa yang lebih stabil dan akurat dibandingkan model tunggal.

  • Base Learners: Top 3 Models .
  • Teknik Training:
    • SMOTE: Digunakan untuk menangani ketidakseimbangan kelas pada data latih.
    • 10-Fold Cross-Validation: Untuk memastikan generalisasi model yang baik.

Tujuan

Mengklasifikasikan nasabah ke dalam dua kategori:

  1. YES (Deposit): Nasabah berpotensi membuka rekening deposito.
  2. NO (Non Deposit): Nasabah kemungkinan besar menolak.

Performa & Evaluasi

Evaluasi dilakukan pada Data Test (20%) yang tidak dilihat model selama proses pelatihan.

Model Evaluation

Metrik Utama

Metrik Skor Deskripsi
Accuracy 92,20% Ketepatan prediksi keseluruhan.
ROC-AUC 92,46% Kemampuan memisahkan kelas positif dan negatif.
Precision 91,90% Seberapa akurat prediksi positif (Deposit).
Recall 91,90% Seberapa banyak nasabah potensial yang berhasil terdeteksi.
F1-Score 91,18% Rata-rata harmonis antara Precision dan Recall.

Confusion Matrix

Fokus utama model adalah meminimalkan False Negative agar bank tidak kehilangan peluang bisnis (nasabah potensial).

Model Confusion Matrix

Informasi Dataset

Model dilatih menggunakan Bank Marketing Dataset dari UCI Machine Learning Repository.

  • Data Asli: 41.188 sampel.
  • Data Training (Setelah SMOTE): 73.096 sampel.
  • Data Testing: 14.620 sampel.

Fitur Input (Features)

  1. Finansial: default, housing, loan
  2. Riwayat Kampanye: campaign, previous, poutcome_failure, poutcome_nonexistent, poutcome_success
  3. Indikator Ekonomi Makro: cons_conf_idx, cons_price_idx, euribor3m, emp_var_rate, nr_employed
  4. Status Pernikahan: marital_married, marital_single, marital_divorced
  5. Metode Kontak: contact_cellular, contact_telephone
  6. Bulan (Month): month_may, month_apr, month_aug, month_jul, month_jun, month_mar, month_nov, month_oct, month_sep
  7. Pendidikan: education_university.degree, education_basic.4y, education_basic.6y, education_basic.9y, education_high.school, education_illiterate, education_professional.course
  8. Kategori Pekerjaan: job_categories_cat1, job_categories_cat2, job_categories_cat3, job_categories_cat4, job_categories_other
  9. Kategori Usia: age_categories_struggling, age_categories_stable, age_categories_about to retire, age_categories_old age, age_categories_counting a last breathe
  10. Hari dalam Minggu: day_of_week_mon, day_of_week_tue, day_of_week_wed, day_of_week_thu, day_of_week_fri

Cara Menggunakan Model

Berikut adalah contoh cara memuat model .pkl menggunakan Python. Pastikan Anda memiliki library scikit-learn dan xgboost terinstal.

menggunakan perintah CLI berikut:

pip install scikit-learn xgboost pandas joblib huggingface_hub 

Lalu load model tersebut menggunakan kode berikut:

from huggingface_hub import hf_hub_download
import joblib
import pandas as pd


def load_model_from_hf(model_filename: str):
    model_path = hf_hub_download(
        repo_id="A25-CS078/smartbank-a25-cs078",
        filename=model_filename,
        cache_dir="models"
    )
    model = joblib.load(model_path)
    return model  # bisa disertai metadata jika diperlukan


def predict(model, data: dict):
    df = pd.DataFrame([data])

    prediction = model.predict(df)[0]

    proba = None
    if hasattr(model, "predict_proba"):
        proba = model.predict_proba(df)[0].tolist()

    return prediction, proba


# Load model
model = load_model_from_hf("model.pkl")

# Contoh input data
input_data = {
    "age": 35,
    "campaign": 1,
    "duration": 120,
    "euribor3m": 4.6
}

# Prediksi
prediction, probabilities = predict(model, input_data)

Tim Developer

Nur Bintang Hidayat

Muhamad Rafli Kamal


Dibangun dengan 🫶 oleh Bintang & Rafli (Capstone Team)

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support