Тест самоперевірки

Інженерія ознак

Обери відповідь — і одразу побачиш пояснення. Помилитись тут корисніше, ніж на іспиті.

← до лекції
Відповіді0 / 8   правильних: 0
Питання 1 / 8

Кореляція нової ознаки «ціна ÷ типова ціна моделі» з таргетом дорівнює +0.018, а взаємна інформація — 0.336 проти 0.069 у сирої ціни. Що це означає?

Чому так. Кореляція Пірсона міряє монотонний звʼязок. Шахрайські оголошення зібрались у два горби — біля 0.3 і біля 3 від типової ціни — і в сумі дають нахил нуль. Взаємна інформація монотонності не вимагає, тому бачить те, чого не бачить кореляція. Виправляється це ще одним перекладом: |ln(ціна ÷ типова)| дає кореляцію +0.774 і AUC 0.990.
Питання 2 / 8

Ознака «ціна − медіанна ціна моделі» дала взаємну інформацію 0.160, а «ціна ÷ медіанна ціна моделі» — 0.336. Чому відношення виявилось удвічі кориснішим за різницю?

Чому так. Ціни моделей на дошці різняться на порядок, тому однакова різниця в гривнях означає зовсім різні речі для дешевої й дорогої моделі. Звідси практичне правило: коли величини відрізняються на порядки — ділять; коли живуть в одному масштабі — віднімають. Універсального «ділення завжди краще» не існує.
Питання 3 / 8

Ти додав до таблиці 50 стовпців чистого шуму. Найбільша |r| серед них вийшла 0.061, тоді як осмислена ознака «вік телефона» дала 0.040. Який висновок правильний?

Чому так. Серед великої кількості ознак хтось обовʼязково виявиться «корисним» випадково, і найкращий випадковий результат тим сильніший, чим ширше поле перебору. Саме тому десять ознак, кожну з яких ти пояснюєш за одне речення, зазвичай краще за двісті згенерованих: серед двохсот не помітно ту єдину, яку зіпсував витік.
Питання 4 / 8

Момент публікації перевели в число (секунди від 1970 року). Кореляція з таргетом вийшла +0.044, AUC 0.539. Що з цим робити?

Чому так. Одне число означає лише «наскільки пізно подано оголошення». Структура доби й тижня в ньому є, але злиплась у молодших розрядах, і модель сама її не розкладе. На нашій дошці місяць і день тижня справді нічого не дали, а от година публікації дала взаємну інформацію 0.291 — більше, ніж будь-яка вихідна колонка.
Питання 5 / 8

Година публікації як звичайне число дала кореляцію −0.332, а cos(2π · година / 24) — +0.727 при AUC 0.982. Звідки такий приріст на тому самому полі?

Чому так. Шахрайські оголошення публікують уночі — 22, 23, 0, 1, 2, 3, 4, тобто рівно на розриві прямої шкали. Синус і косинус кладуть годину на циферблат, і 23-тя опиняється сусідкою 0-ї. Масштабування тут ні до чого: воно не змінює порядок значень, а коло змінює саме відстані між ними.
Питання 6 / 8

У таблиці 440 продавців, і 121 з них подав рівно одне оголошення. Ти замінив колонку «продавець» часткою шахрайських оголошень серед його власних. Що станеться?

Чому так. Середнє по одному рядку — це сам цей рядок. Тому наївне цільове кодування підставляє відповідь просто в ознаку. У практиці ми закодували так вигаданий «код регіону» — 448 випадкових міток без жодного змісту — і отримали на тестовій частині кореляцію 0.583; чесне кодування по карті з train дало −0.071.
Питання 7 / 8

Ти рахуєш агрегатну ознаку «медіанна ціна моделі» й уже поділив дані на train і test. На яких рядках треба рахувати медіану?

Чому так. Правило те саме, що й у передобробці: усе, що рахується з даних, рахується лише на навчальній частині, а потім застосовується до обох. Рахувати окремо на кожній частині — теж помилка: тоді ознака означає різне в train і в test. Категоріям, яких у train не було, підставляють загальне середнє.
Питання 8 / 8

Агрегат «медіанна ціна цієї моделі й року» дав AUC 0.512 — рівно рівень монети. Що з ним робити?

Чому так. Дорогі моделі шахраї беруть не частіше за дешеві, тому сама по собі медіанна ціна класи не відрізняє. Але ціна оголошення (AUC 0.666) і типова ціна моделі (AUC 0.512) разом дають |ln(ціна ÷ типова)| з AUC 0.990. Саме тому відбирати ознаки по одній, дивлячись лише на власну кореляцію кожної, — небезпечно: пари, які працюють лише разом, такий відбір знищує.