Какие бывают признаки?
Вступление
Добро пожаловать на уже третий урок из цикла "Как обучать машины, если у вас лапки?". Сегодня рассмотрим два основных типа признаков, с которыми мы чаще всего будем сталкиваться в табличных данных, а в следующей части урока обсудим какие бывают задачи в МО.

Что там по признакам?
На прошлом уроке мы узнали, что признаки (они же фичи от англ. feature) это различные характеристики объекта, на основе которых наша модель и создаёт предсказание. Но признаков существует огромное количество, и удобно было бы их как-то категоризировать. Этим и займёмся.
Вернёмся к примеру из прошлого урока про дома в Калифорнии:
| Цвет | Число этажей | Площадь (м²) | Год строительства |
|---|---|---|---|
| Белый | 1 | 52 | 2000 |
| Серый | 1 | 67 | 2012 |
| Розовый | 2 | 250 | 2015 |
| Зеленый | 3 | 630 | 2021 |
Часть значений в ней представлена числами, а часть - словами. При этом слова в ней обозначают некоторые категории, получаем основное разделение:
-
ЧИСЛОВЫЕ ПРИЗНАКИ - это характеристики объекта, представленные числами. Например: длина, ширина, вес, цена, возраст и т. д. Числовые признаки могут быть непрерывными и дискретными. Непрерывные признаки могут принимать любое значение из некоторого диапазона: например, вес может быть 67 кг, 67.1 кг, 67.13 кг и т. д. Дискретные же признаки принимают отдельные значения: например, число этажей дома может быть 1, 2, 3, ..., но не 2.37 этажа.
-
КАТЕГОРИАЛЬНЫЕ ПРИЗНАКИ - это любой тип данных, который использует категории или состояния, такие как "муж/жен", "кошка/собака/птица" и пр. Для таких фич у нас конечный набор значений, которые можно сопоставить обучающим объектам. Важно также отметить, что категориальные фичи могут быть порядковыми и непорядковыми (номинальными). Например, у футболки может быть сетка размеров "S/M/L". Это категориальный признак, но он показывает конкретную иерархию. В будущем мы ещё намучаемся с обработкой категориальных признаков в коде, ведь наша модель - математикческая функция, на вход она может принимать только числа, поэтому нам придётся вручную обрабатывать такие данные, чтобы привести их к виду, понятному машине. (Кроме CatBoost :) CatBoost умеет сам работать с категориальными фичами и нам не потребуется никаких лишних дейтсвий)
Заключение
Я решил иногда делить уроки на части, чтобы обеспечить стабильный график их выхода и не мучать читателей километровыми стенами текста. Спасибо за внимание! Если увидите неточность или ошибку, пишите в комментариях об этом.
