Я использую класс Spark mlib's
BinaryClassificationMetrics
для генерации метрик для вывода RandomForestClassificationModel
. Я просмотрел документы Spark и могу сгенерировать thresholds
, precisionByThreshold
, recallByThreshold
, roc
и pr
.
Я хотел знать, используется ли какое-либо конкретное пороговое значение при генерации roc
. Это потому, что в Википедия РПЦ говорится, что:
The ROC curve is created by plotting the true positive rate (TPR) against the false positive rate (FPR) at various threshold settings.
Мне было интересно, используется ли какое-либо оптимальное пороговое значение при генерации ROC в Spark. Если нет, то почему?
Я считаю, что это 0,5, BinaryClassificationMetrics использует BinaryLabelCounter, метод подсчета меток которого выглядит так:
def +=(label: Double): BinaryLabelCounter = {
// Though we assume 1.0 for positive and 0.0 for negative, the following check will handle
// -1.0 for negative as well.
if (label > 0.5) numPositives += 1L else numNegatives += 1L
this
}