Classification
具有可調精度與召回率的分類器
我正在研究一個二元分類問題,其中沒有誤報更為重要;相當多的假陰性是可以的。例如,我在 sklearn 中使用了一堆分類器,但我認為它們都沒有能力顯式調整精確召回權衡(它們確實產生了很好的結果,但不可調整)。
哪些分類器具有可調節的精度/召回率?有什麼方法可以影響標準分類器的精度/召回率權衡,例如隨機森林或 AdaBoost?
幾乎所有 scikit-learn 的分類器都可以給出決策值(通過
decision_function
或predict_proba
)。根據決策值,可以直接計算精確召回和/或 ROC 曲線。scikit-learn 在其metrics子模塊中提供了這些功能。
一個最小的例子,假設你有
data
並且labels
有適當的內容:import sklearn.svm import sklearn.metrics from matplotlib import pyplot as plt clf = sklearn.svm.LinearSVC().fit(data, labels) decision_values = clf.decision_function(data) precision, recall, thresholds = sklearn.metrics.precision_recall_curve(labels, decision_values) plt.plot(recall, precision) plt.show()