Допустим, я хочу создать классификатор логистики для фильма М. Мои особенности будут примерно такими, как возраст человека, пол, род занятий, местоположение. Так что тренировочный набор будет примерно таким:
- Возраст Пол Род занятий Расположение Нравится (1) / Не нравится (0)
- 23 M Software США 1
- 24 F Doctor UK 0
и так далее ... Теперь у меня вопрос, как мне масштабировать и представлять свои особенности. Один способ, которым я думал: разделите возраст по возрастным группам: 18-25, 25-35, 35 лет и старше, пол как M, F, местоположение как США, Великобритания, другие. Теперь создайте двоичный элемент для всех этих значений, поэтому возраст будет иметь 3 двоичных элемента, каждый из которых соответствует возрастной группе, и так далее. Таким образом, 28-летний мужчина из США будет представлен как 010 10 100 (010-> Возрастная группа 25-35, 10 -> Мужской, 100 -> США)
Что может быть лучшим способом для представления функций здесь? Кроме того, я заметил в некоторых e.gs. из sklearn, что все функции были каким-то образом масштабированы / нормализованы, например, пол представлен двумя значениями, 0,0045 и -0,0045 для мужчин и женщин. Я понятия не имею, как сделать масштабирование / мормализацию, как это?
источник
Ответы:
Двоичный случай
Если вы хотите, чтобы ваши функции были двоичными, хорошим представлением для категориальных (соответственно, реальных ) значений будет горячее (соответственно, термометром ) кодирование. Вам не нужно нормализовать их.
Для одного горячего кодирования категориальной функции вы просто резервируете один бит для каждого класса. Следовательно, длина этой кодировки равна количеству классов вашей функции. Давайте возьмем ваш пример страны,
Для кодирования действительного / целочисленного элемента термометра вы должны выбрать длину и пороговые значения. Для вашего примера возраста вы решили разделить возраст в соответствии с пороговыми значениями 18, 25 и 35. Код будет
Непрерывный случай
Как сказал BGreene, вам следует нормализовать это значение, чтобы сохранить среднее значение 0 и стандартное отклонение 1, что обеспечивает стабильность многих регрессионных моделей. Чтобы сделать это, просто вычтите эмпирическое среднее и разделите на эмпирическое стандартное отклонение.
источник