Навіщо потрібна третя вибірка, якщо є train і test? Навчив на train, поміряв на test, обрав найкращу модель — хіба цього мало?
Чому так. Це «прокляття переможця»: максимум із багатьох шумних вимірювань систематично більший за справжнє значення, бо переможцем стає той, кому пощастило саме на цій вибірці. Валідаційна вибірка бере цей бруд на себе — її оцінка після сотні експериментів справді завищена, і ми їй не віримо. Тест лишається недоторканим, тому його число можна показувати людям.
Питання 2 / 8
Тестова вибірка — 200 обʼєктів. Модель A дала 87%, модель B — 86%. Який висновок коректний?
Чому так. SE = √(0,87 · 0,13 / 200) ≈ 0,024, тобто 95% інтервал приблизно ±4,7 пп. Різниця в один пункт цілком уміщається всередину похибки й тому не існує. Щоб її побачити, потрібен більший тест або порівняння по фолдах крос-валідації.
Питання 3 / 8
Ти хочеш зменшити стандартну похибку оцінки точності вдвічі. Що треба зробити з тестовою вибіркою?
Чому так. У формулі SE = √(p(1−p)/n) розмір стоїть під коренем, тому похибка спадає як 1/√n. Щоб поділити її навпіл, n треба помножити на чотири. Саме тому інтуїція «додам ще трохи даних у тест» працює погано: від 100 до 200 обʼєктів похибка падає лише приблизно на 30%.
Питання 4 / 8
Ти нормалізував усі дані одним викликом, а потім розділив їх на train і test. Мітки при цьому не використовувались. Це проблема?
Чому так. Витік — це не «модель побачила мітки», а будь-яка залежність від тестових даних. У практиці видно буквально: глобальний мінімум ознаки належить обʼєкту з тестової вибірки, і саме це число стає параметром нормалізатора. Виміряне завищення точності тут мале (частки пункта), але той самий порядок дій із відбором ознак коштує вже десятки пунктів.
Питання 5 / 8
300 ознак чистого шуму, мітки підкинуті монеткою — сигналу в даних немає взагалі. Ти відібрав 10 найкорельованіших із міткою ознак ДО розбиття. Що покаже тест?
Чому так. Відбір ознак дивиться на мітки, у тому числі тестові — тож у тест їдуть саме ті ознаки, які випадково підіграли саме цим обʼєктам. У практиці вимірюємо 0,73 із витоком проти 0,51 при чесному порядку дій: завищення близько 22 пунктів на даних, де немає жодного сигналу.
Питання 6 / 8
Мінорний клас складає 2%, тестова вибірка — 100 обʼєктів, розбиття звичайне випадкове. Яка приблизно ймовірність, що в тесті не буде ЖОДНОГО позитивного прикладу?
Чому так. Кожен із 100 обʼєктів має бути негативним: 0,98¹⁰⁰ ≈ 0,133. Тобто приблизно кожне сьоме розбиття дає тест, на якому recall узагалі не визначений. Стратифікація прибирає цю лотерею повністю: вона тасує кожен клас окремо, тому частка класів у тесті збігається з їхньою часткою в усіх даних.
Питання 7 / 8
Крос-валідація на маленькому датасеті замінює яку з трьох вибірок?
Чому так. Крос-валідація дає надійніший спосіб порівнювати моделі, коли даних мало, — тобто робить роботу валідаційної вибірки. Але вибір моделі все одно оптимізується під ці числа, тому потрібна недоторкана тестова частина. Правильна схема: спершу відкласти тест, потім крос-валідація на решті, потім одне вимірювання на тесті.
Питання 8 / 8
Дані містять час: події за цілий рік. Як правильно розбивати?
Чому так. Випадкове розбиття дозволяє моделі прогнозувати березень, «знаючи» вересень. У житті такої розкоші не буде: завтрашній день прогнозують, маючи лише вчорашній. Фіксований random_state робить помилку відтворюваною, але не перестає бути помилкою.