Я использую классификатор rpart
в R. Вопрос в том, что я хотел бы протестировать обученный классификатор на тестовых данных. Это нормально - я могу использовать функцию prevent.rpart
.
Но я также хочу рассчитать точность, отзывчивость и оценку F1.
У меня вопрос: должен ли я сам писать для них функции или есть ли для этого какая-либо функция в R или какой-либо из библиотек CRAN?
Только для обновления этого, когда я столкнулся с этим потоком теперь эти confusionMatrix
, функция в caret
вычисляет все эти вещи для Вас автоматически.
cm <- confusionMatrix(prediction, reference = test_set$label)
# extract F1 score for all classes
cm[["byClass"]][ , "F1"] #for multiclass classification problems
Вы можете substite "F1" выше для любого из следующих для извлечения соответствующих значений также:
"Чувствительность", "Специфика", "На месте продажи Значение Pred", "Отрицательное Значение Pred", "Точность", "Отзыв", "F1", "Распространенность", "Обнаружение", "Уровень", "Распространенность Обнаружения", "Сбалансированная Точность"
я думаю, что это ведет себя немного по-другому, когда Вы только делаете двоичный файл classifcation проблема, но в обоих случаях, все эти значения вычисляются для Вас, когда Вы смотрите в объекте confusionMatrix, под $byClass