Численные данные: качества хороших числовых характеристик.

В этом модуле были изучены способы преобразования необработанных данных в подходящие векторы признаков . Хорошие числовые характеристики обладают теми же качествами, которые описаны в этом разделе.

Четко названный

Каждая функция должна иметь ясное, разумное и очевидное значение для любого человека, участвующего в проекте. Например, значение следующего значения функции сбивает с толку:

Не рекомендуется

house_age: 851472000

Напротив, следующее имя и значение функции гораздо понятнее:

Рекомендуется

house_age_years: 27

Проверено или протестировано перед тренировкой

Хотя в этом модуле много времени было уделено выбросам , эта тема достаточно важна, чтобы стоит упомянуть ее в заключение. В некоторых случаях неверные данные (а не неправильный инженерный выбор) приводят к неясным значениям. Например, следующие значения user_age_in_years получены из источника, который не проверял соответствующие значения:

Не рекомендуется

user_age_in_years: 224

Но людям может быть 24 года:

Рекомендуется

user_age_in_years: 24

Проверьте свои данные!

Разумный

«Магическая ценность» — это целенаправленный разрыв непрерывного объекта. Например, предположим, что непрерывный объект с именем watch_time_in_seconds может содержать любое значение с плавающей запятой от 0 до 30, но представляет отсутствие измерения с магическим значением -1:

Не рекомендуется

watch_time_in_секунды: -1

Значение watch_time_in_seconds , равное -1, заставит модель попытаться выяснить, что значит смотреть фильм назад во времени. Полученная модель, вероятно, не даст хороших прогнозов.

Лучшим методом является создание отдельной логической функции, которая указывает, предоставляется ли значение watch_time_in_seconds . Например:

Рекомендуется

watch_time_in_секунды: 4,82
is_watch_time_in_секунды_определено=Истина

watch_time_in_секунды: 0
is_watch_time_in_секунды_определено=False

Теперь рассмотрим дискретный числовой признак, значения которого должны принадлежать конечному набору значений. В этом случае, когда значение отсутствует, обозначьте это недостающее значение, используя новое значение в конечном наборе. При наличии дискретной функции модель будет изучать разные веса для каждого значения, включая исходные веса для отсутствующих функций.