KS曲線是一種在評估分類模型時非常有用的工具,它可以在模型的預測結果中幫助我們確定最佳閾值。在Python中,我們可以使用scikit-learn的metrics庫來計算KS值和繪制KS曲線。
要計算KS值,我們需要導入一些必要的庫,包括pandas、numpy和sklearn.metrics。在以下示例中,我們使用一個名為“df”的DataFrame,具有兩個列:“actual”和“predicted”,分別為實際值和預測值。
import pandas as pd import numpy as np from sklearn.metrics import roc_curve df = pd.read_csv('example.csv') fpr, tpr, thresholds = roc_curve(df['actual'], df['predicted']) ks = max(tpr-fpr) print("KS值為:",ks)
在計算KS值后,我們可以使用Matplotlib庫中的plot函數來繪制KS曲線。以下是繪制KS曲線的Python代碼:
import matplotlib.pyplot as plt plt.plot(thresholds, tpr, label='TPR') plt.plot(thresholds, fpr, label='FPR') plt.plot(thresholds, tpr-fpr, label='KS') plt.legend() plt.show()
最后,我們可以根據KS曲線選擇最佳閾值。通常,我們希望該曲線上的KS值最大化。在上述示例中,我們可以通過查找最大差距的閾值來選擇最佳閾值。