1. Learn
  2. /
  3. Курси
  4. /
  5. Кероване навчання в R: регресія

Connected

Вправа

Нові рівні

Коли рівень категоріальної змінної є рідкісним, інколи він не трапляється в тренувальних даних. Якщо такий рідкісний рівень з'явиться в майбутніх даних, наступні моделі можуть «не знати», як із ним працювати. Коли з'являються такі нові рівні, використання model.matrix або caret::dummyVars для one-hot-кодування працюватиме некоректно.

vtreat — це «безпечніша» альтернатива до model.matrix для one-hot-кодування, адже вона вміє коректно обробляти нові рівні. vtreat також обробляє пропущені значення в даних (як категоріальних, так і неперервних).

У цій вправі ви побачите, як vtreat поводиться з категоріальними значеннями, яких не було в тренувальній вибірці. План обробки treatplan і набір змінних newvars з попередньої вправи все ще доступні. dframe і новий датафрейм testframe вже завантажено.

Інструкції

100 XP
  • Виведіть dframe і testframe.
    • Чи є в testframe кольори, яких не було в dframe?
  • Викличте prepare(), щоб створити one-hot-кодовану версію testframe (без вихідної змінної). Назвіть її testframe.treat і виведіть.
    • Використайте аргумент varRestriction, щоб обмежити лише змінними з newvars.
    • Як закодовано рядки з кольором yellow?