Числовые данные: как модель принимает данные с использованием векторов признаков.

До сих пор у нас создавалось впечатление, что модель действует непосредственно на строки набора данных; однако модели на самом деле принимают данные несколько по-другому.

Например, предположим, что набор данных содержит пять столбцов, но только два из этих столбцов ( b и d ) являются объектами модели. При обработке примера в строке 3 модель просто захватывает содержимое двух выделенных ячеек (3b и 3d) следующим образом?

Рисунок 1. Модель, принимающая пример непосредственно из набора данных.             Столбцы b и d строки 3 выделены.
Рисунок 1. Не совсем то, как модель получает примеры.

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

Рисунок 2. Вектор признаков является посредником между набором данных и моделью.
Рисунок 2. Ближе к истине, но не реалистично.

Однако векторы признаков редко используют необработанные значения набора данных. Вместо этого вам обычно приходится обрабатывать значения набора данных в представления, на которых ваша модель может лучше учиться. Итак, более реалистичный вектор признаков может выглядеть примерно так:

Рисунок 3. Вектор признаков содержит два значения с плавающей запятой: 0,13 и 0,47. Более реалистичный вектор признаков.
Рисунок 3. Более реалистичный вектор признаков.

Разве модель не будет давать более точные прогнозы, обучаясь на основе фактических значений в наборе данных, чем на основе измененных значений? Удивительно, но ответ — нет.

Вы должны определить лучший способ представления необработанных значений набора данных как обучаемых значений в векторе объектов. Этот процесс называется разработкой функций и является важной частью машинного обучения. Наиболее распространенными методами проектирования функций являются:

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

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