---
title: Метрики оценки качества моделей
seo:
  title: Метрики оценки качества моделей — Data Scientist
  description: Тема «Метрики оценки качества моделей» для собеседования Data Scientist. Какие метрики вы применяли для оценки результатов классификации и кластеризации? Что такое MAPE?
---

[Все темы Data Scientist](/data-scientist)

## <strong>Какие метрики вы применяли для оценки результатов классификации и кластеризации?</strong> [#q-14bee738d69b81f3bed8da5ebe838b75]

Для оценки результатов классификации часто используются следующие метрики&#58;

#### <strong>Для бинарной классификации</strong>&#58;

- Точность (Accuracy)

- Полнота (Recall)

- Точность (Precision)

- F1-мера (F1-score)

- AUC-ROC (Area Under the Receiver Operating Characteristic Curve)

#### <strong>Для многоклассовой классификации</strong>&#58;

- Матрица ошибок (Confusion Matrix)

- Макро и микро F1-мера

- Взвешенная точность и полнота

Для оценки результатов кластеризации часто используются следующие метрики&#58;

1. <strong>Silhouette Score</strong>&#58; Измеряет, насколько объект хорошо
   согласуется со своим кластером по сравнению с другими кластерами.

1. <strong>Davies-Bouldin Index</strong>&#58; Мера сходства внутри кластера и
   различия между кластерами. Чем меньше значение, тем лучше разделение.

1. <strong>Calinski-Harabasz Index</strong>&#58; Оценивает плотность и
   разделение между кластерами.

1. <strong>Adjusted Rand Index (ARI)</strong>&#58; Измеряет сходство между двумя
   кластерными разбиениями, учитывая случайные перестановки.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Что такое</strong> <code>MAPE</code><strong>?</strong> [#q-14bee738d69b81539065f37d92cb8215]

<code>MAPE</code> (Mean Absolute Percentage Error) - это метрика оценки точности
прогнозирования, которая измеряет среднее абсолютное процентное отклонение между
прогнозируемыми и фактическими значениями. Это выражается в процентах и
позволяет оценить точность модели прогнозирования, особенно при работе с
временными рядами и прогнозировании количественных значений. Чем ниже значение
<code>MAPE</code>, тем лучше модель.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Приведите метрики для прогнозирования временных рядов.</strong> [#q-14bee738d69b8159b050c1bf42c9f44f]

Для оценки точности прогнозирования временных рядов часто используются следующие метрики&#58;

1. <strong>MAE</strong> <code>&#40;Mean Absolute Error&#41;</code>&#58; Средняя
   абсолютная ошибка, которая измеряет среднее абсолютное отклонение между
   прогнозируемыми и фактическими значениями.

1. <strong>MSE</strong> <code>&#40;Mean Squared Error&#41;</code>&#58; Средняя
   квадратичная ошибка, которая измеряет среднее квадратичное отклонение между
   прогнозируемыми и фактическими значениями.

1. RMSE (Root Mean Squared Error)&#58; Корень из средней квадратичной ошибки, выраженный в единицах целевой переменной. Совпадает со стандартным отклонением ошибок только при их нулевом среднем.

1. <strong>MAPE</strong> <code>&#40;Mean Absolute Percentage Error&#41;</code>
   &#58; Среднее абсолютное процентное отклонение между прогнозируемыми и
   фактическими значениями, выраженное в процентах.

1. <strong>SMAPE</strong>
   <code>&#40;Symmetric Mean Absolute Percentage Error&#41;</code>&#58;
   Симметричное среднее абсолютное процентное отклонение, которое учитывает
   масштаб исходных данных.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Вычислить кумулятивную сумму для определенной метрики по месяцам.</strong> [#q-14bee738d69b810ebfb5d867991a1b2b]

<strong>Решение&#58;</strong>

```python
import pandas as pd

# Загрузка данных
data = pd.read_csv("your_data.csv")

# Преобразование столбца с датой в формат даты
data['date'] = pd.to_datetime(data['date'])

# Сортировка данных по дате
data = data.sort_values('date')

# Группировка данных по месяцам и вычисление кумулятивной суммы
data['cumulative_metric'] = data.groupby(data['date'].dt.to_period('M'))['metric'].cumsum()
```

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Метрики качества рекомендаций. Помимо классических спросил еще про diversity, новизну контента.</strong> [#q-14bee738d69b8172b8a5c24a7634a12a]

Метрики качества рекомендаций оценивают эффективность рекомендательных систем. Вот несколько классических метрик&#58;

1. <strong>Точность (Precision)</strong>&#58; Оценивает долю релевантных
   рекомендаций среди всех предложенных. <code>Формула</code>&#58;
   <InlineMath
     tex={
       "\\frac {Кол-во релевантных рекомендаций} {Кол-во предложенных рекомендаций}"
     }
   />
   .

1. <strong>Полнота (Recall)</strong>&#58; Оценивает долю релевантных
   рекомендаций, найденных из всех релевантных элементов. <code>Формула</code>
   &#58;
   <InlineMath
     tex={
       "\\frac {Кол-во релевантных рекомендаций} {Кол-во всех релевантных элементов}"
     }
   />
   .

1. <strong>F-мера (F1-score)</strong>&#58; Гармоническое среднее между точностью
   и полнотой, позволяющее учесть обе метрики. <code>Формула</code>&#58;
   <InlineMath
     tex={"𝐹1=2 \\cdot \\frac {Precision \\cdot Recall} {Precision+Recall}"}
   />
   .

1. <strong>Средний ранг (Average Rank)</strong>&#58; Средний ранг релевантных
   элементов в списке рекомендаций.

1. <strong>Разнообразие (Diversity)</strong>&#58; Оценивает степень разнообразия
   предлагаемых рекомендаций. Может измеряться, например, как разнообразие
   жанров, авторов или других аспектов контента.

1. <strong>Новизна контента (Content Novelty)</strong>&#58; Оценивает степень, в
   которой рекомендации предлагают новый и неожиданный контент для пользователя.
   Может измеряться, например, как доля рекомендаций среди элементов, которые
   пользователь еще не видел или не взаимодействовал с ними.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Какие существуют метрики качества классификатора?</strong> [#q-14bee738d69b8124ac15c3a959b90c1b]

Для оценки качества классификатора используются различные метрики, каждая из которых подходит для определенных задач и условий. Вот некоторые из наиболее часто используемых метрик&#58;

1. <strong>Точность</strong> <code>&#40;Accuracy&#41;</code>&#58; доля правильно
   классифицированных объектов среди всех объектов. Подходит для
   сбалансированных наборов данных, где классы представлены примерно в равных
   пропорциях.

1. <strong>Точность</strong> <code>&#40;Precision&#41;</code>&#58; доля
   правильно классифицированных положительных объектов среди всех объектов,
   классифицированных как положительные. Важна, когда стоимость
   ложноположительных ошибок высока.

1. <strong>Полнота</strong> <code>&#40;Recall&#41;</code>&#58; доля правильно
   классифицированных положительных объектов среди всех реальных положительных
   объектов. Критична, когда стоимость ложноотрицательных ошибок высока.

1. <code>F1&#45;мера</code>&#58; гармоническое среднее между точностью и
   полнотой. Используется, когда необходимо учитывать обе эти метрики.

1. <strong>AUC-ROC</strong>
   <code>&#40;Area Under the Receiver Operating Characteristic curve&#41;</code>
   &#58; площадь под ROC-кривой, которая показывает зависимость между долей
   истинно положительных классификаций и долей ложноположительных классификаций
   при различных порогах решения. Хороша для сравнения разных моделей.

1. <strong>Матрица ошибок</strong> <code>&#40;Confusion Matrix&#41;</code>&#58;
   таблица, показывающая распределение правильных и неправильных предсказаний по
   классам. Позволяет более детально проанализировать типы ошибок.

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

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Когда применять метрику accuracy вместо loss в машинном обучении?</strong> [#q-14bee738d69b81ac9661d56bd922970a]

Метрика accuracy обычно используется для оценки качества модели в случае задач классификации, когда интересует доля правильных предсказаний по всей выборке. Это особенно полезно, когда классы в данных сбалансированы. Однако, метрика <code>accuracy</code> может давать искаженные результаты в случае несбалансированных классов, поэтому в таких случаях часто предпочтительнее использовать другие метрики, такие как <code>precision</code>, <code>recall</code> или <code>F1&#45;score</code>. <code>Loss&#45;функции</code>, напротив, обычно используются в процессе обучения модели для оптимизации параметров на основе разницы между предсказанными и истинными значениями.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::

---

## <strong>Разница между триплетом и контрастив лосс?</strong> [#q-14bee738d69b81b0b4ddebbd5e751ff6]

Между двумя этими лоссами, есть основная разница&#58;

- <code>Triplet Loss</code> минимизирует расстояние между "позитивными" парами
  (правильные примеры) и увеличивает расстояние между "негативными" парами
  (неправильные примеры) с использованием трёх элементов&#58; анкора,
  положительного и отрицательного примера.

- <code>Contrastive Loss</code>
  <code> </code>минимизирует расстояние между парой похожих примеров и
  увеличивает между непохожими, обычно в задачах бинарной классификации пар
  примеров.

:::note[Ссылки для изучения]

1. [Метрики в задачах машинного обучения](https://habr.com/ru/companies/ods/articles/328372/)
   :::
