SlideShare a Scribd company logo
1 of 19
Download to read offline
Выбираем метрику оценки
качества модели
Или как подружить менеджера с data-scientist’ом
Роман Чеботарев
Архитектор решений Advanced Analytics, КРОК
DataFest2, Москва
Проблема
• Data scientist часто получает формулировку задачи с метрикой
ее качества…
• … которая в реальности берется исходя из common sense
• … которой нет («А спрогнозируй-ка мне <..> !»)
• Результат работы алгоритма / модели – вероятностный,
выбирая разные пороги, получаем разные результаты
• Очень часто именно от пороговых значений зависит итоговое
качество работы решения
Пример
• Нужно больше минералов ©
• Щуп – 100% точность (но долго и сложно → дорого)
• Сонар – непрерывный сигнал или много параметров
• Есть база откликов сонара на минералы / не_минералы
Пример
• Можем анализировать отклик сонара и построить
модель классификации «минерал vs. не_минерал»
• Большинство моделей дают вероятность (confidence)
• Нужно выбрать порог классификации
Пример
FN TN TN FN FP TN TN TP TN
Порог 50%
• Можем анализировать отклик сонара и построить
модель классификации «минерал vs. не_минерал»
• Большинство моделей дают вероятность (confidence)
• Нужно выбрать порог классификации
Выбор порога классификации
• Confusion matrices
• ROC диаграммы
• Precision-recall диаграммы
• Lift диаграммы
• И т.п.
Этих аналитик достаточно, если есть четкое понимание, какие
ограничения нужно соблюсти (например, FPR < 0.03)
А что делать, если нет?
Итак, наша лучшая модель (ROC)
Итак, наша лучшая модель (ROC)
Какой порог выбрать?
Итак, наша лучшая модель (Lift-диаграмма)
It’s all about money
True False
pred. True +1000 ₽ -300 ₽
pred. False 0 0
Построим COST MATRIX:
• Нашли минерал (TP) – заработали 1000 ₽ (достали минерал и продали)
• Промахнулись (FP) – потеряли 300 ₽ (щуп портится, зп геологам)
• Остальное – бесплатно
Оптимальный порог = argmax(cumulative lift in money)
0 ₽
50 000 ₽
100 000 ₽
150 000 ₽
200 000 ₽
>0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39
А если cost(FP) = -1000 ₽ ?
0 ₽
50 000 ₽
100 000 ₽
150 000 ₽
200 000 ₽
>0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39
True False
pred. True +1000 -300
pred. False 0 0
А теперь проезд платный – 50 ₽
True False
pred. True +950 -350
pred. False -50 -50
• Каждая операция для нас сколько-то стоит
• Так часто бывает на практике (обработка кредитной заявки, покупка
данных у поставщиков)
• Это приводит к тому, что нужно оценивать ожидаемую долю каждого
класса в задаче
• Желательно делать это до старта разработки :)
К чему это приводит
-50 000 ₽
0 ₽
50 000 ₽
100 000 ₽
150 000 ₽
200 000 ₽
>0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39
DANGER ZONE
50%
25%
15%
5%
При какой доле минералов
с нашим алгоритмом и
«расценками» вообще
разумно плыть?
+164к ₽
+102к ₽
+66к ₽
-104к ₽
To go or not to go?
В обратную сторону
Итоговая эффективность = f (
confusion-matrix,
cost-matrix,
[atomic-scoring-cost],
[classes priors]
)
• Можно построить зависимость для каждой задачи и найти оптимальную матрицу
ошибок → определить оптимальный порог классификации
• Однако, чаще задача решается в прямом виде и строится многомерный массив всех
возможных сочетаний → анализируется и выбирается оптимальное сочетание
error cost
error
prediction
interval(s)
Прогнозирование числовых величин
• Аналогичный подход, только стоимость ошибки является функцией величины
ошибки
• В отличие от задачи классификации, эту функцию передают непосредственно в
процесс обучения как кастомную функцию потерь
Резюме
• Нужно пытаться оценить cost matrix / cost function – сколько стоит
каждый вид ошибки
• Очень часто скоринг данных сам по себе не бесплатен, в таком случае
нужно понимать долю каждого класса
• Все это часто позволяет понять, какими показателями качества должен
обладать алгоритм до начала разработки… и возможно ли это вообще :)
Спасибо за твое время и внимание
RChebotarev [#] croc.ru
Skype: roman.s.chebotarev
Slack [opendatascience]: convex
http://facebook.com/roman.cheborarev
https://ru.linkedin.com/in/roman-chebotarev-5b314339

More Related Content

Viewers also liked

Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Mail.ru Group
 
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Mail.ru Group
 
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Mail.ru Group
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Mail.ru Group
 
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016rusbase
 
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...rusbase
 
Interpretable machine learning
Interpretable machine learningInterpretable machine learning
Interpretable machine learningSri Ambati
 
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...Mail.ru Group
 
«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис ГлазковMail.ru Group
 
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...Mail.ru Group
 
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Mail.ru Group
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&CoMail.ru Group
 
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru GroupMail.ru Group
 
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...Mail.ru Group
 
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)Mail.ru Group
 
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)Mail.ru Group
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2Badoo Development
 

Viewers also liked (20)

Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
Александр Семёнов, МТС, Высшая Школа Экономики, «Анализ социальных сетей в те...
 
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
Станислав Семенов, Data Scientist, Kaggle top-3, «О соревновании Telstra Kagg...
 
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
Дмитрий Бугайченко, Одноклассники. SNA Hackathon 2016
 
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
Дмитрий Кропотов, ВМК МГУ, Группа Байесовских Методов, «Методы оптимизации бо...
 
Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016Роман Чеботарев — КРОК — ICBDA2016
Роман Чеботарев — КРОК — ICBDA2016
 
Сапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплениемСапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплением
 
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
Станислав Семенов — Консультант по анализу данных, победитель чемпионата ICBD...
 
Interpretable machine learning
Interpretable machine learningInterpretable machine learning
Interpretable machine learning
 
Pandas: обзор основных функций
Pandas: обзор основных функцийPandas: обзор основных функций
Pandas: обзор основных функций
 
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
Максим Попов, Mail.Ru Group, «Асинхронные запросы в MySQL или когда PDO стано...
 
«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков«Пиринговый веб на JavaScript», Денис Глазков
«Пиринговый веб на JavaScript», Денис Глазков
 
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
Александр Лисаченко, Alpari, «Решение вопросов сквозной функциональности в пр...
 
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
Руслан Ханов, «Контейнер сервисов — Что? Где? Когда?»
 
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
«iPython & Jupyter: 4 fun & profit», Лев Тонких, Rambler&Co
 
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
«Advanced {product_name} configuring», Алексей Макеев, Mail.Ru Group
 
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
«QuickCheck в Python: проверка гипотез и поиск ошибок», Александр Шорин, Ramb...
 
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
«Свой PhoneGap за 15 минут», Алексей Охрименко (IPONWEB)
 
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
«Компонентная верстка с AngularJS», Андрей Яманов (CTO TeamHunt)
 
Что надо знать о HTTP/2
Что надо знать о HTTP/2Что надо знать о HTTP/2
Что надо знать о HTTP/2
 
Парсим CSS
Парсим CSSПарсим CSS
Парсим CSS
 

Similar to Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»

Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...
Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...
Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...Pablo Tru
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Ontico
 
машинное обучение и анализ данных
машинное обучение и анализ данныхмашинное обучение и анализ данных
машинное обучение и анализ данныхYandex
 
Про качественный поиск (Андрей Аксенов)
Про качественный поиск (Андрей Аксенов)Про качественный поиск (Андрей Аксенов)
Про качественный поиск (Андрей Аксенов)Ontico
 
Ts navigator v211111
Ts navigator v211111Ts navigator v211111
Ts navigator v211111guest2e024
 
Про качественный поиск
Про качественный поискПро качественный поиск
Про качественный поискAndrew Aksyonoff
 
Debunking Risk Management in Software (RUS)
Debunking Risk Management in Software (RUS)Debunking Risk Management in Software (RUS)
Debunking Risk Management in Software (RUS)Alexey Kuznetsov
 
Оценка сроков IT проектов
Оценка сроков IT проектовОценка сроков IT проектов
Оценка сроков IT проектовAlexander Kalinichev
 
Kalanov Denis, IT-Dominanta, SPMConf
Kalanov Denis, IT-Dominanta, SPMConfKalanov Denis, IT-Dominanta, SPMConf
Kalanov Denis, IT-Dominanta, SPMConfIT-Доминанта
 
Вся правда о PM-ах
Вся правда о PM-ахВся правда о PM-ах
Вся правда о PM-ахSQALab
 
Практика машинного обучения: вопросы и проблемы при работе над ML-проектом
Практика машинного обучения: вопросы и проблемы при работе над ML-проектомПрактика машинного обучения: вопросы и проблемы при работе над ML-проектом
Практика машинного обучения: вопросы и проблемы при работе над ML-проектомDenisenko Sergei
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Ontico
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationAnton Gorokhov
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Dmitry Kornev
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Bitworks Software
 
Wargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковWargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковSlava Lukyanenka
 

Similar to Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели» (17)

Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...
Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...
Как неправильно замониторить something — Failover conf 2015 Павел Труханов ok...
 
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
Производительность запросов в PostgreSQL - шаг за шагом / Илья Космодемьянски...
 
машинное обучение и анализ данных
машинное обучение и анализ данныхмашинное обучение и анализ данных
машинное обучение и анализ данных
 
Про качественный поиск (Андрей Аксенов)
Про качественный поиск (Андрей Аксенов)Про качественный поиск (Андрей Аксенов)
Про качественный поиск (Андрей Аксенов)
 
Ts navigator v211111
Ts navigator v211111Ts navigator v211111
Ts navigator v211111
 
Про качественный поиск
Про качественный поискПро качественный поиск
Про качественный поиск
 
Debunking Risk Management in Software (RUS)
Debunking Risk Management in Software (RUS)Debunking Risk Management in Software (RUS)
Debunking Risk Management in Software (RUS)
 
Применение муравьиных алгоритмов
Применение муравьиных алгоритмовПрименение муравьиных алгоритмов
Применение муравьиных алгоритмов
 
Оценка сроков IT проектов
Оценка сроков IT проектовОценка сроков IT проектов
Оценка сроков IT проектов
 
Kalanov Denis, IT-Dominanta, SPMConf
Kalanov Denis, IT-Dominanta, SPMConfKalanov Denis, IT-Dominanta, SPMConf
Kalanov Denis, IT-Dominanta, SPMConf
 
Вся правда о PM-ах
Вся правда о PM-ахВся правда о PM-ах
Вся правда о PM-ах
 
Практика машинного обучения: вопросы и проблемы при работе над ML-проектом
Практика машинного обучения: вопросы и проблемы при работе над ML-проектомПрактика машинного обучения: вопросы и проблемы при работе над ML-проектом
Практика машинного обучения: вопросы и проблемы при работе над ML-проектом
 
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
Честное перформанс-тестирование / Дмитрий Пивоваров (ZeroTurnaround)
 
BigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: PersonalizationBigData Week Moscow 2013 - Case: Personalization
BigData Week Moscow 2013 - Case: Personalization
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Wargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиковWargaming: Оценка задач для котиков
Wargaming: Оценка задач для котиков
 

More from Mail.ru Group

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Mail.ru Group
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...Mail.ru Group
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинMail.ru Group
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Mail.ru Group
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовMail.ru Group
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваMail.ru Group
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...Mail.ru Group
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...Mail.ru Group
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidiaMail.ru Group
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоMail.ru Group
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковMail.ru Group
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковMail.ru Group
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Mail.ru Group
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиMail.ru Group
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupMail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Mail.ru Group
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Mail.ru Group
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Mail.ru Group
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Mail.ru Group
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Mail.ru Group
 

More from Mail.ru Group (20)

Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
Автоматизация без тест-инженеров по автоматизации, Мария Терехина и Владислав...
 
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
BDD для фронтенда. Автоматизация тестирования с Cucumber, Cypress и Jenkins, ...
 
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир ДубровинДругая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
Другая сторона баг-баунти-программ: как это выглядит изнутри, Владимир Дубровин
 
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
Использование Fiddler и Charles при тестировании фронтенда проекта pulse.mail...
 
Управление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон ВикторовУправление инцидентами в Почте Mail.ru, Антон Викторов
Управление инцидентами в Почте Mail.ru, Антон Викторов
 
DAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга СвиридоваDAST в CI/CD, Ольга Свиридова
DAST в CI/CD, Ольга Свиридова
 
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...Почему вам стоит использовать свой велосипед и почему не стоит  Александр Бел...
Почему вам стоит использовать свой велосипед и почему не стоит Александр Бел...
 
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...CV в пайплайне распознавания ценников товаров: трюки и хитрости  Николай Масл...
CV в пайплайне распознавания ценников товаров: трюки и хитрости Николай Масл...
 
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidiaRAPIDS: ускоряем Pandas и scikit-learn на GPU  Павел Клеменков, NVidia
RAPIDS: ускоряем Pandas и scikit-learn на GPU Павел Клеменков, NVidia
 
WebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий ОстапенкоWebAuthn в реальной жизни, Анатолий Остапенко
WebAuthn в реальной жизни, Анатолий Остапенко
 
AMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей ПешковAMP для электронной почты, Сергей Пешков
AMP для электронной почты, Сергей Пешков
 
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила СтрелковКак мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
Как мы захотели TWA и сделали его без мобильных разработчиков, Данила Стрелков
 
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
Кейсы использования PWA для партнерских предложений в Delivery Club, Никита Б...
 
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.ТаксиМетапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
Метапрограммирование: строим конечный автомат, Сергей Федоров, Яндекс.Такси
 
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru GroupКак не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
Как не сделать врагами архитектуру и оптимизацию, Кирилл Березин, Mail.ru Group
 
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)Этика искусственного интеллекта, Александр Кармаев (AI Journey)
Этика искусственного интеллекта, Александр Кармаев (AI Journey)
 
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
Нейро-машинный перевод в вопросно-ответных системах, Федор Федоренко (AI Jour...
 
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
Конвергенция технологий как тренд развития искусственного интеллекта, Владими...
 
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
Обзор трендов рекомендательных систем от Пульса, Андрей Мурашев (AI Journey)
 
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
Мир глазами нейросетей, Данила Байгушев, Александр Сноркин ()
 

Роман Чеботарёв, КРОК, «Выбираем метрику оценки качества модели»

  • 1. Выбираем метрику оценки качества модели Или как подружить менеджера с data-scientist’ом Роман Чеботарев Архитектор решений Advanced Analytics, КРОК DataFest2, Москва
  • 2. Проблема • Data scientist часто получает формулировку задачи с метрикой ее качества… • … которая в реальности берется исходя из common sense • … которой нет («А спрогнозируй-ка мне <..> !») • Результат работы алгоритма / модели – вероятностный, выбирая разные пороги, получаем разные результаты • Очень часто именно от пороговых значений зависит итоговое качество работы решения
  • 3. Пример • Нужно больше минералов © • Щуп – 100% точность (но долго и сложно → дорого) • Сонар – непрерывный сигнал или много параметров • Есть база откликов сонара на минералы / не_минералы
  • 4. Пример • Можем анализировать отклик сонара и построить модель классификации «минерал vs. не_минерал» • Большинство моделей дают вероятность (confidence) • Нужно выбрать порог классификации
  • 5. Пример FN TN TN FN FP TN TN TP TN Порог 50% • Можем анализировать отклик сонара и построить модель классификации «минерал vs. не_минерал» • Большинство моделей дают вероятность (confidence) • Нужно выбрать порог классификации
  • 6. Выбор порога классификации • Confusion matrices • ROC диаграммы • Precision-recall диаграммы • Lift диаграммы • И т.п. Этих аналитик достаточно, если есть четкое понимание, какие ограничения нужно соблюсти (например, FPR < 0.03) А что делать, если нет?
  • 7. Итак, наша лучшая модель (ROC)
  • 8. Итак, наша лучшая модель (ROC) Какой порог выбрать?
  • 9. Итак, наша лучшая модель (Lift-диаграмма)
  • 10. It’s all about money True False pred. True +1000 ₽ -300 ₽ pred. False 0 0 Построим COST MATRIX: • Нашли минерал (TP) – заработали 1000 ₽ (достали минерал и продали) • Промахнулись (FP) – потеряли 300 ₽ (щуп портится, зп геологам) • Остальное – бесплатно
  • 11. Оптимальный порог = argmax(cumulative lift in money) 0 ₽ 50 000 ₽ 100 000 ₽ 150 000 ₽ 200 000 ₽ >0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39
  • 12. А если cost(FP) = -1000 ₽ ? 0 ₽ 50 000 ₽ 100 000 ₽ 150 000 ₽ 200 000 ₽ >0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39
  • 13. True False pred. True +1000 -300 pred. False 0 0 А теперь проезд платный – 50 ₽ True False pred. True +950 -350 pred. False -50 -50 • Каждая операция для нас сколько-то стоит • Так часто бывает на практике (обработка кредитной заявки, покупка данных у поставщиков) • Это приводит к тому, что нужно оценивать ожидаемую долю каждого класса в задаче • Желательно делать это до старта разработки :)
  • 14. К чему это приводит -50 000 ₽ 0 ₽ 50 000 ₽ 100 000 ₽ 150 000 ₽ 200 000 ₽ >0,67 >0,63 >0,6 >0,56 >0,53 >0,49 >0,46 >0,42 >0,39 <=0,39 DANGER ZONE
  • 15. 50% 25% 15% 5% При какой доле минералов с нашим алгоритмом и «расценками» вообще разумно плыть? +164к ₽ +102к ₽ +66к ₽ -104к ₽ To go or not to go?
  • 16. В обратную сторону Итоговая эффективность = f ( confusion-matrix, cost-matrix, [atomic-scoring-cost], [classes priors] ) • Можно построить зависимость для каждой задачи и найти оптимальную матрицу ошибок → определить оптимальный порог классификации • Однако, чаще задача решается в прямом виде и строится многомерный массив всех возможных сочетаний → анализируется и выбирается оптимальное сочетание
  • 17. error cost error prediction interval(s) Прогнозирование числовых величин • Аналогичный подход, только стоимость ошибки является функцией величины ошибки • В отличие от задачи классификации, эту функцию передают непосредственно в процесс обучения как кастомную функцию потерь
  • 18. Резюме • Нужно пытаться оценить cost matrix / cost function – сколько стоит каждый вид ошибки • Очень часто скоринг данных сам по себе не бесплатен, в таком случае нужно понимать долю каждого класса • Все это часто позволяет понять, какими показателями качества должен обладать алгоритм до начала разработки… и возможно ли это вообще :)
  • 19. Спасибо за твое время и внимание RChebotarev [#] croc.ru Skype: roman.s.chebotarev Slack [opendatascience]: convex http://facebook.com/roman.cheborarev https://ru.linkedin.com/in/roman-chebotarev-5b314339