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