Я новичок в машинном обучении и сталкиваюсь с ситуацией. Я работаю над проблемой ставок в реальном времени с набором данных IPinYou и пытаюсь сделать прогноз клика.
Дело в том, что, как вы, возможно, знаете, набор данных очень несбалансирован: около 1300 отрицательных примеров (без кликов) на 1 положительный пример (клик).
Это то чем я занимаюсь:
- Загрузите данные
- Разделите набор данных на 3 набора данных: A = Обучение (60%) B = Проверка (20%) C = Тестирование (20%)
- Для каждого набора данных (A, B, C) выполните недостаточную выборку для каждого отрицательного класса, чтобы получить соотношение 5 (5 отрицательных примеров для 1 положительного примера). Это дает мне 3 новых набора данных, которые являются более сбалансированными: A 'B' C '
Затем я тренирую свою модель с набором данных A 'и логистической регрессией.
Мой вопрос:
Какой набор данных мне нужно использовать для проверки? B или B '?
Какой набор данных мне нужно использовать для тестирования? С или С '
Какие показатели наиболее актуальны для оценки моей модели? F1Score, кажется, хорошо используемый показатель. Но здесь из-за несбалансированного класса (если я использую наборы данных B и C), точность низкая (ниже 0,20), и на F1Score очень влияет низкая отзывчивость / точность. Будет ли правильнее использовать aucPR или aucROC?
Если я хочу построить кривую обучения, какие метрики я должен использовать? (зная, что ошибка% не имеет значения, если я использую набор данных B для проверки)
Спасибо заранее за ваше время !
С уважением.