Upload 6 files
d636394 verified
import streamlit as st
import pandas as pd
import numpy as np
import joblib
# Model ve scaler'ı yükle
scaler, kmeans = joblib.load("model.pkl")
st.title("💳 Credit Card Customer Segmentation")
st.markdown("Müşteri bilgilerini girerek hangi kümeye ait olduğunu öğrenin.")
# Kullanıcıdan veri al
def get_user_input():
balance = st.number_input("BALANCE", 0.0, 100000.0, 2000.0)
purchases = st.number_input("PURCHASES", 0.0, 100000.0, 3000.0)
oneoff = st.number_input("ONEOFF_PURCHASES", 0.0, 50000.0, 1000.0)
installments = st.number_input("INSTALLMENTS_PURCHASES", 0.0, 50000.0, 2000.0)
credit_limit = st.number_input("CREDIT_LIMIT", 100.0, 100000.0, 5000.0)
payments = st.number_input("PAYMENTS", 0.0, 100000.0, 2500.0)
tenure = st.slider("TENURE (kaç aydır müşteri?)", 0, 12, 6)
data = {
'BALANCE': balance,
'PURCHASES': purchases,
'ONEOFF_PURCHASES': oneoff,
'INSTALLMENTS_PURCHASES': installments,
'CREDIT_LIMIT': credit_limit,
'PAYMENTS': payments,
'TENURE': tenure
}
return pd.DataFrame([data])
# Tahmin yap
input_df = get_user_input()
if st.button("Tahmin Et"):
scaled_input = scaler.transform(input_df)
cluster = kmeans.predict(scaled_input)[0]
st.subheader(f"🔍 Tahmin Edilen Küme: {cluster}")
yorumlar = {
0: "🟢 Düşük harcama yapan, düşük riskli müşteri.",
1: "🟡 Orta seviyede harcama yapan müşteri.",
2: "🔴 Yüksek harcama yapan ve aktif müşteri.",
3: "🔵 Taksitli harcamaları yüksek olan müşteri."
}
st.write(yorumlar.get(cluster, "Bilinmeyen küme"))