Начнем с истории гипотетического человека по имени «А». В последнее время у него

сделал приложение-классификатор кошек, которое с точностью 95% предсказывает, изображена ли на изображении кошка или нет, и очень рад, увидев, что он сделал такую ​​«точную» модель. Но когда он попробовал свое приложение на изображении собаки, его приложение предсказывает, что это кошка, снова пробует свое приложение на изображениях лягушки, но вместо того, чтобы предсказывать «нет кошки», его приложение по-прежнему предсказывает кошку.

Что пошло не так у нашего гипотетического человека А?

Чтобы понять это, я предоставлю вам описание данных, на которых он был обучен, после чего вы сможете понять, что пошло не так и почему вы не должны доверять точности, когда данные несбалансированы. Данные для классификатора кошек состоят из 100 образцов, из которых 95 изображений относятся к классу «кошка», а 5 изображений относятся к классу, отличному от кошки. Теперь, если классификатор всегда предсказывает «кошку», если он будет предсказывать правильный класс в 95% случаев, давая точность 95%. Таким образом, это основная проблема с точностью.

это дает вам ложное представление о хорошей производительности, когда ваша модель мл обучена на несбалансированных данных. Для оценки моделей мл, обученных на несбалансированных данных, мы должны обратиться к точности и отзыву.

Сначала давайте определимся с некоторыми терминами:

  • Истинный положительный результат (TP): Положительный класс, который прогнозируется моделью как положительный.
  • Истинный отрицательный (TN): отрицательный класс, который прогнозируется моделью как отрицательный.
  • Ложноположительный (FP): отрицательный класс, который предсказывается нашей моделью как положительный.
  • Ложноотрицательный (FN): положительный класс, который предсказывает отрицательный по нашей модели.

Матрица путаницы может помочь лучше понять все вышеперечисленные термины:

Точность: точность рассчитывается по формуле

Грубо говоря, это говорит нам о вероятности того, что если наша модель предсказывает класс

положительного экземпляра, то истинный класс является положительным. Например, если классификатор имеет точность, скажем, 0,82, то это означает, что когда наш классификатор предсказывает 100 экземпляров как положительные, тогда 82 из них являются истинно положительными.

Отзыв. Отзыв рассчитывается по формуле

Вспомнить говорит нам, какую долю от общего числа истинно положительных наша модель может правильно предсказать как положительную. Например, если у меня есть 100 экземпляров истинно положительного класса, а моя модель классификации предсказывает 85 положительных результатов, то отзыв составляет 0,85.

Обе метрики имеют разные варианты использования: точность используется, когда мы ожидаем, что прогноз нашей модели будет верным большое количество раз, а отзыв используется, когда мы хотим, чтобы наш классификатор определял большое количество истинно положительных результатов. Например, если мы хотим классифицировать людей в магазинах как магазинные кражи или нет, мы можем захотеть сохранить высокий уровень отзыва, чтобы идентифицировать как можно больше магазинных воров. Предположим, вы делаете приложение для детей, которое может идентифицировать оружие в видео и удаляет видео, если оно содержит что-то оскорбительное, поэтому здесь мы должны соблюдать точность высокий .