Эта статья изначально была написана Дерриком Мвити и размещена в блоге Neptune.
Представьте, если бы вы могли получить все советы и рекомендации, необходимые для решения проблемы двоичной классификации на Kaggle или где-либо еще. Я принял участие в более чем 10 соревнованиях Kaggle, в том числе:
- Вызов классификации токсичных комментариев $35 000
- TalkingData AdTracking Fraud Detection Challenge $25 000
- IEEE-CI S Обнаружение мошенничества $20 000
- Многоязычная классификация токсичных комментариев Jigsaw $50 000
- Выявление внутричерепных кровоизлияний RSNA $25 000
- SIIM-ACR Сегментация пневмоторакса $30,000
- Непреднамеренная систематическая ошибка Jigsaw в классификации токсичности $65 000
- Прогнозирование транзакций клиентов в Сантандере $65 000
- Microsoft Malware Prediction $25 000
- Идентификация горбатых китов $25 000
– и вытащил эту информацию для вас.
Нырнуть в.
Моделирование
- Используйте два слоя BiGru, передавая два последних плотных слоя.
- Определите лучшие параметры, выбрав лучший из 250 прогонов с байесовской оптимизацией.
- Используйте 2-уровневый двунаправленный GRU с последующим максимальным пулом и 2 полносвязными уровнями.
Решение проблем с дисбалансом
- Проверьте этот обширный блокнот по работе с несбалансированными классами
- Балансировка классов ваншотов: Получение частот топ-1 классов и замена класса «новый кит классами ваншотами и не представленными @ топ-1»
Метрики
- Глобал АУК
- Объяснение показателя ROC AUC для обнаружения мошенничества (+альтернативы)
- Старая добрая точность
- Средняя средняя точность (MAP)
- Потеря двоичного журнала
- Бета-оценка F, где бета равна 0,5
Потеря
BCE и игра в кости
Основанная на очаговых потерях
Пользовательские потери
Другие
- Ловаш Лосс
- Взвешенная сигмовидная кросс-энтропийная потеря
- Жесткая тройная потеря
- Центр Потеря
- Аддитивная угловая маржинальная потеря
- Маржинальная потеря
- CosFace Потеря
- КЛ-Див потеря с мягкой этикеткой
Перекрестная проверка + правильная оценка
- Использовать состязательный проверка
- Применить перекрестную проверку GroupKFold
- Простое разделение времени и использование последних 100 тыс. записей в качестве проверочного набора
- Генерировать прогнозы, используя KFold без перетасовки
- Используйте стратифицированные 5-кратно без ранней остановки для прогнозирования тестовых данных.
- Внедрить LightGBM на 10 KFolds без перетасовки
- При использовании псевдометок не проверяйте псевдометки, чтобы избежать переобучения.
- Используйте Стандартную 10-кратную стратифицированную перекрестную проверку с несколькими семенами для окончательной смеси.
Постобработка
- Использование истории отправки для настройки наших прогнозов тестового набора
- Выберите случайным образом 30% CV, оптимизируйте пороги для 30% и примените их к оставшимся 70% и проверьте, насколько они далеки от оптимальных порогов 70%
- Используйте коэффициент масштабирования для прогнозов > 0,8, а также ‹ 0,01 за счет использования вероятностного случайного шума, который вводит небольшой штраф
- Увеличить прогнозируемую вероятность комментариев, содержащих нецензурные слова разных языков
- Пометьте тестовые образцы используя наиболее эффективный ансамбль, добавив их в набор поездов и обучив их сходимости.
Ансамбль
Усреднение
Усреднение по нескольким семенам
- В среднем 10 неверных прогнозов
- Среднее количество семян
- Добавить модель разнообразие по усреднению семян и модели мешков с разными складками
Среднее геометрическое
Средние разные модели
- Средний ансамбль моделей XLM-R
- Средние прогнозы для 7 языковых моделей
- Ансамбль моделей XLM-R
- Ансамбль из CatBoost, XGBoost и LightGBM
Укладка
- Стек Bi-LSTM, Bert-Large-Uncased с WWM, XLNET, с метамоделью ExtraTreesClassifier
- Стекирование LightGBM
- Stack LightGBM с тяжелой байесовской оптимизацией
- Модели стека с использованием PyStackNet и MlXtend
- Ансамбль RNN, CNN, LightGBM и NBSV
- Используйте 5-кратный пакет XGB
- Показатели резюме с тяжелой байесовской оптимизацией
Смешивание
- Используйте мощность смешивание
- Смешайте с помощью Hyperopt и OOF, чтобы найти оптимальные веса
Другие
- Ансамбль Implement Hillclimb
- Применить LGB в мешках 10 раз с разными образцами обучающих данных
Репозитории и открытые решения
Репозитории с решениями с открытым исходным кодом
Решения на основе изображений
- Код 1-го места для идентификации горбатых китов
- Решение Data Science Bowl, 2-е место
- Прогнозирование рака легких Диагностика с помощью глубокого обучения
- Kaggle Data Science Bowl 2017
- Решение RSNA для выявления внутричерепных кровоизлияний — первое место
- Решение 2-го места — RSNA для выявления внутричерепных кровоизлияний
- Решение 3-го места RSNA Выявление внутричерепных кровоизлияний
- Решение 4-го места с кодом Выявление внутричерепных кровоизлияний RSNA
- 5-е место в системе RSNA для обнаружения внутричерепных кровоизлияний
- Точка входа RSNA для обнаружения внутричерепных кровоизлияний для решения 5-го места
- Решение SIIM-ACR для сегментации пневмоторакса, первое место
- Решение SIIM-ACR для сегментации пневмоторакса, третье место
- 5 место решение SIIM-ACR Pneumothorax Segmentation
- Идентификация горбатых китов Решение 5-го места
- Решение 4-го места Идентификация горбатых китов
- Kaggle Humpback Whale Identification Challenge 2019, код 2-го места
Табличные решения
- Как внедрить LibFM в Keras и как его использовали в конкурсе Говорящие данные на Kaggle
- Решение XGB для обнаружения мошенничества
- Разработка функций обнаружения мошенничества
- Решение 2-го места Прогнозирование транзакций клиентов Santander
- 5-е место в Santander для прогнозирования транзакций клиентов
- Решение для конкурса Kaggle Santander по прогнозированию транзакций клиентов»
- 2-е место в конкурсе Microsoft Malware Prediction Challenge на Kaggle
Решения на основе классификации текста
- Вызов классификации токсичных комментариев, 12-е место p кружевное решение
- Код и описание для Kaggle Toxic Comment Classification Challenge
- Непреднамеренная систематическая ошибка Jigsaw в классификации токсичности Решение 4-го места
- Открытое решение Проблемы классификации токсичных комментариев
- Конкурс TalkingData AdTracking Fraud Detection Решение за 4 место
- Бронзовая медаль
- Решение за 2 место в национальном кубке по науке о данных 2017
- Непреднамеренная систематическая ошибка Jigsaw в классификации токсичности Решение, занявшее 10-е место
- Код для решения, занявшего 3-е место в конкурсе Kaggle по идентификации горбатых китов
Последние мысли
Надеюсь, эта статья познакомила вас с советами и рекомендациями по бинарной классификации, а также с некоторыми инструментами и фреймворками, которые вы можете использовать, чтобы начать конкурировать.
Мы рассмотрели советы по:
- архитектуры,
- потери,
- Постобработка,
- ансамбль,
- инструменты и фреймворки.
Если вы хотите углубиться, просто перейдите по ссылкам и посмотрите, как строятся лучшие модели бинарной классификации.
Смотрите также:
- Сегментация изображений: советы и рекомендации 39 конкурсов Kaggle
- Текстовая классификация: все советы и рекомендации с 5 конкурсов Kaggle
- Бинарная классификация табличных данных: все советы и рекомендации по результатам 5 соревнований Kaggle
Эта статья изначально была написана Дерриком Мвити и размещена в блоге Neptune. Там вы можете найти более подробные статьи для специалистов по машинному обучению.