Các chỉ số mô hình khác

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Mark Peterson

Director of Data Science, Infoblox

Ngưỡng xác suất

  • Mỗi dự đoán của bộ phân loại đều có một xác suất kèm theo
  • Ngưỡng xác suất mặc định trong scikit-learn: 50%

 

  • Nếu ta thay đổi ngưỡng thì sao?
Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 1: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 2: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 3: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 4: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 5: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 6: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 7: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Phần 8: đường cong ROC

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Tạo xác suất trong sklearn

logreg.predict_proba(X_test)[:,1]
array([[0.80188981, 0.19811019],
       [0.96484075, 0.03515925],
       [0.9182671 , 0.0817329 ],
       ...,
y_pred_prob = logreg.predict_proba(X_test)[:,1]
Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Đường cong ROC trong sklearn

from sklearn.metrics import roc_curve

fpr, tpr, thresholds = roc_curve(y_test, y_pred_prob)
import matplotlib.pyplot as plt

plt.plot(fpr, tpr)

plt.xlabel("False Positive Rate")

plt.ylabel("True Positive Rate")

plt.plot([0, 1], [0, 1], "k--")

plt.show()
Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Diện tích dưới đường cong

from sklearn.metrics import roc_auc_score

auc = roc_auc_score(y_test, y_pred)
Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Ayo berlatih!

Phân tích Marketing: Dự đoán Khách hàng Rời bỏ bằng Python

Preparing Video For Download...