Spaces:
Sleeping
Sleeping
File size: 2,158 Bytes
24d09a0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
import joblib
import pandas as pd
# 🔁 Kaydedilen modeli ve özellik listesini yükle
model = joblib.load("churn_model.pkl")
model_features = joblib.load("model_features.pkl")
# 🔍 Müşteri verisi (güncel örneğe göre)
customer = {
'gender': True, # Female → True
'SeniorCitizen': False,
'Partner': True,
'Dependents': False,
'PhoneService': True,
'PaperlessBilling': True,
'tenure': 28,
'MonthlyCharges': 104.8,
'TotalCharges': 3046.05,
'MultipleLines_No': False,
'MultipleLines_No phone service': False,
'MultipleLines_Yes': True,
'InternetService_DSL': False,
'InternetService_Fiber optic': True,
'InternetService_No': False,
'OnlineSecurity_No': True,
'OnlineSecurity_Yes': False,
'OnlineSecurity_No internet service': False,
'OnlineBackup_No': True,
'OnlineBackup_Yes': False,
'OnlineBackup_No internet service': False,
'DeviceProtection_No': False,
'DeviceProtection_Yes': True,
'DeviceProtection_No internet service': False,
'TechSupport_No': False,
'TechSupport_Yes': True,
'TechSupport_No internet service': False,
'StreamingTV_No': False,
'StreamingTV_Yes': True,
'StreamingTV_No internet service': False,
'StreamingMovies_No': False,
'StreamingMovies_Yes': True,
'StreamingMovies_No internet service': False,
'Contract_Month-to-month': True,
'Contract_One year': False,
'Contract_Two year': False,
'PaymentMethod_Bank transfer (automatic)': False,
'PaymentMethod_Credit card (automatic)': False,
'PaymentMethod_Electronic check': True,
'PaymentMethod_Mailed check': False
}
# Eksik kalan tüm özellikleri sıfırla
full_input = {col: customer.get(col, 0) for col in model_features}
X_test = pd.DataFrame([full_input])
# 🎯 Tahmin ve olasılık
prediction = model.predict(X_test)[0]
proba = model.predict_proba(X_test)[0][1]
# 📝 Sonuç
label = "CHURN edecek" if prediction == 1 else "Kalacak"
print(f"📊 Tahmin: {label}")
print(f"🎯 Churn olasılığı: %{proba * 100:.2f}")
|