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

Проблема классификации:

  1. Точность
  2. Точность
  3. Отзывать
  4. Оценка F1
  5. Площадь под кривой ROC или AUC
  6. Потеря журнала
  7. Точность при k
  8. Средняя точность при k
  9. Средняя средняя точность при k
  10. Коэффициент Джини

Проблема регрессии:

  1. Среднеквадратичная ошибка (MSE)
  2. Средняя абсолютная ошибка (MAE)
  3. Среднеквадратичная ошибка (RMSE)
  4. Среднеквадратичная логарифмическая ошибка (RMSLE)
  5. R² / Скорректированный R²
  6. Средняя процентная ошибка (MPE)
  7. Средняя абсолютная процентная ошибка (MAPE)

Предположим, у нас есть проблема бинарной классификации, у нас есть равное количество образцов рака и не рака в целевом столбце. Допустим, у нас есть 200 положительных образцов и 200 отрицательных образцов. Обучение и проверка имеют 100 положительных и 100 отрицательных образцов. у нас есть равное количество положительных и отрицательных выборок, мы обычно используем точность, точность, отзыв и f1.

Точность: определяет, насколько точна наша модель. Например. Если мы правильно прогнозируем 80 выборок из 100 и 20 неверно, то мы получаем точность 80% или 0,80.

из показателей импорта sklearn

metrics.accuracy_score (y_train, y_pred)

где y_train - фактическая метка

y_pred - метка прогноза

Точность: предположим, что у нас есть набор данных, который искажен, т. е. количество образцов в одном классе намного превышает количество образцов в другом классе. Использовать точность нецелесообразно, поскольку это не так. хороший представитель данных. Мы можем получить высокую точность на обучающих данных, но наша модель может не работать хорошо на новых данных. Итак, мы смотрим на точность.

Давайте возьмем пример набора данных рака, метка - рак, тогда мы рассматриваем положительный класс (1), и если он не рак, то это отрицательный класс (0).

Истинно положительный результат (TP): для набора данных, если наша модель предсказывает рак, а фактическая цель также является раком, то это называется истинно положительным результатом.

Истинно отрицательный (TN): для набора данных, если наша модель предсказывает отсутствие рака, а фактическая цель также не является раком, то это называется истинно отрицательным.

Если наша модель правильно предсказывает положительный класс, то это истинно положительное, а если наша модель правильно предсказывает отрицательный класс, то это истинно отрицательное.

Ложноположительный (FP): для набора данных, если наша модель предсказывает рак, а фактическая цель - не рак, то это называется ложноположительным результатом.

Ложноотрицательный (FN): для набора данных, если наша модель предсказывает отсутствие рака, а фактическая цель - рак, то это называется ложноотрицательным.

Если наша модель неверно предсказывает положительный класс, то это ложноположительный результат, а если наша модель неверно предсказывает отрицательный класс, то это ложноотрицательный результат.

Точность = TP / (TP + FP)

Допустим, мы правильно классифицируем 70 меток, не относящихся к раку, из 80 и 16 меток рака из 20. Следовательно, мы правильно прогнозируем 86 меток из 100. Точность составляет 86% или 0,86. Но из 100 образцов 10 не соответствуют критериям. рак ошибочно классифицируется как рак, а 4 образца рака ошибочно классифицируются как не раковые.

TP:16

TN:70

FP:10

FN:4

Точность = 16 / (16 + 10) = 0. 6153 или 61,53% при попытке классифицировать положительные метки (рак)

Напомним:

Напомним = TP / (TP + FN)

Напомним = 0,8

Он правильно предсказывает 80% положительных образцов.

Наша модель должна иметь высокую точность и значение отзыва. Обычно мы выбираем порог 0,5, но он не всегда идеален, и в зависимости от этого наша точность и значение отзыва могут измениться.

Оценка F1:

Оценка F1 представляет собой комбинацию точности и отзыва. Эта оценка учитывает как ложные срабатывания, так и ложноотрицания, в отличие от точности и отзыва, когда они принимали только один результат. Оценка F1 обычно более полезна, чем точность, особенно если у нас неравномерное распределение классов.

Оценка F1 = (2 * Точность * Отзыв) / (Точность + Отзыв)

or

F1 = 2TP/(2TP+FP+FN)

Реализация Python:

из показателей импорта sklearn

metrics.f1.score (y_true, y_pred)

Идеальная модель имеет оценку F1, равную 1. Чем выше оценка F1, тем лучше модель для перекошенных этикеток.

TPR (True Positive Rate) - это то же самое, что и отзыв. Его также называют чувствительностью.

TPR = TP / (TP + FN)

FPR (ложноположительный показатель) также называется специфичностью.

FPR = FP / (TN + FP)

ROC: Кривая ROC (рабочая характеристика приемника) - это график, показывающий эффективность модели классификации при всех порогах классификации.

AUC (площадь под кривой ROC): AUC измеряет всю двумерную площадь под всей кривой ROC. AUC - широко используемый показатель для решения проблемы искаженной двоичной классификации.

В случае бинарной классификации мы можем выбрать порог с помощью кривой ROC. Кривая ROC сообщает нам, как порог влияет на частоту ложноположительных и истинно положительных результатов и наоборот.

Прогноз = вероятность ≥ порог

Потеря журнала: среднее значение потери всех отдельных журналов. Потеря журнала очень сильно наказывается за неверный или отдаленный прогноз. Мы должны быть очень осторожны при использовании потери журнала.

Для задачи двоичной классификации

Журнал потерь = -1,0 * (цель * журнал (прогноз) + (1 - цель) * журнал (1-прогноз))

где цель - либо 0, либо 1, а прогноз - это вероятность принадлежности выборки к классу 1.

Когда у нас есть многокомпонентная классификация, то есть с каждым образцом может быть связан один или несколько классов. Например, как и классификация изображений с несколькими метками человеческого белка (https://www.kaggle.com/c/jovian-pytorch-z2g/overview/evaluation). Мы используем следующие показатели оценки:

Точность при k (P @ k):

Точность в k - это доля рекомендуемых элементов в наборе top- k, которые являются релевантными. Это количество совпадений в прогнозируемом списке, учитывающем только первые k прогнозов, деленное на k.

Средняя точность при k (AP @ k):

Среднее значение P @ i для i = 1,…, K.

Например, если мы хотим вычислить AP @ 3: суммируйте P @ 1, P @ 2 и P @ 3 и разделите это значение на 3.

Средняя точность при k (MAP @ k): MAP @ k - это просто среднее значение AP @ k.

Например: если мы хотим рассчитать MAP @ 3: суммируйте AP @ 3 для всех пользователей и разделите это значение на количество пользователей.

P @ k, AP @ k и MAP @ k все находятся в диапазоне от 0 до 1, причем 1 является лучшим.

потеря журнала для классификации по нескольким меткам:

Мы можем преобразовать метки в двоичный формат, а затем использовать потерю журнала для каждого столбца. В конце мы можем взять среднее значение потерь журнала в каждом столбце. Это называется потерей журнала по столбцам. Существуют и другие способы. обучить классификатор с несколькими метками с сигмоидной и двоичной кросс-энтропией.

Метрики оценки регрессии обсуждаются ниже:

  1. Ошибка. Это самый простой способ расчета показателей.

Ошибка = Истинное значение - Прогнозируемое значение

2. Абсолютная ошибка: Абсолютная ошибка - это абсолютная ошибка.

Абсолютная ошибка = abs (истинное значение - прогнозируемое значение)

3. Средняя абсолютная ошибка: среднее значение абсолютной ошибки.

Средняя абсолютная ошибка = абс (истинное значение - прогнозируемое значение) / n

где n - количество истинных значений

4. Ошибка в квадрате. Это квадрат ошибки.

Квадратная ошибка = (Истинное значение - Прогнозируемое значение) ²

5. Среднеквадратичная ошибка.

MSE = ошибка в квадрате / n

где n - количество истинных значений

6. RMSE (среднеквадратичная ошибка):

RMSE = Sqrt (MSE)

7. Ошибка в процентах:

Ошибка в процентах = ((Истинное значение - Прогнозируемое значение) / Истинное значение) * 100

8. Средняя ошибка в процентах.

MPE = (((Истинное значение - Прогнозируемое значение) / Истинное значение) / n) * 100

где n - количество истинных значений

9. Средняя абсолютная процентная ошибка (MAPE):

MAPE = ((абс (Истинное значение - Прогнозируемое значение) / Истинное значение) / n) * 100

где n - количество истинных значений

10. R² (R -квадрат): также называется коэффициентом детерминации.

Если мы строим линейную регрессию для нескольких переменных, рекомендуется использовать скорректированный R-квадрат для измерения качества модели. Если у нас есть только одна входная переменная, R-квадрат и Скорректированный R-квадрат будут точно такими же.

11. Среднеквадратичная логарифмическая ошибка (RMSLE):

RMSLE обычно используется, когда мы не хотим штрафовать за огромные различия в прогнозируемых и фактических значениях, когда и прогнозируемые, и истинные значения являются огромными числами.

MSE и RMSE - самые популярные метрики, используемые при оценке моделей регрессии. Есть много других метрик, а также некоторые расширенные метрики, которые используются для регрессии. Если мы понимаем, какие метрики мы используются, то это помогает улучшить нашу модель.

Ссылка: https://stackoverflow.com