Досі у вас могло скластися враження, що для роботи моделі безпосередньо використовують рядки з набору даних; однак насправді вони імпортують відомості дещо інакше.
Припустімо, що набір даних містить п’ять стовпців, але лише два з них (b
і d
) є ознаками для моделі. Хіба модель, обробляючи приклад із рядка 3, просто бере вміст двох виділених клітинок (3b й 3d), як показано нижче?
Насправді модель фактично імпортує масив значень із рухомою комою, який називається вектором ознак. Вектор ознак можна уявити як значення з рухомою комою, з яких складається один приклад.
Проте вектори ознак рідко використовують необроблені значення з набору даних. Зазвичай потрібно перетворити значення з набору даних на представлення, на основі яких модель може краще навчатися. Тому реалістичніший вектор ознак виглядатиме приблизно так:
Хіба модель не створюватиме кращі прогнози, навчаючись на фактичних значеннях із набору даних, а не на змінених? Як не дивно, відповідь – ні.
Необхідно визначити найкращий спосіб представляти необроблені значення з набору даних як навчальні значення вектора ознак. Цей процес називається конструюванням ознак і є важливою частиною машинного навчання. Нижче наведено найпоширеніші методи конструювання ознак.
- Нормалізація – перетворення чисел у значення зі стандартного діапазону.
- Групування (інша назва – сегментація) – перетворення чисел у сегменти діапазонів.
У цьому розділі йдеться про нормалізацію і групування. У наступному розділі Робота з категорійними даними розглядаються інші форми попередньої обробки даних, зокрема перетворення нечислових даних, наприклад рядків, у значення з рухомою комою.
У векторі ознак кожне значення має бути числом із рухомою комою. Звісно, багато ознак – це рядки або інші нечислові значення, тому значна частина процесу конструювання ознак направлена на те, щоб представляти нечислові значення як числові. Це питання неодноразово розглядатиметься в наступних модулях.