Подготовка данных
В DataFrame данные представлены в удобном для человека виде. Таблица может содержать названия городов, отделов и товаров, даты, логические значения и пропуски. Однако большинство моделей машинного обучения работает с числовыми признаками.
Например, столбец Отдел может содержать значения IT, Продажи и HR. Человеку их смысл понятен, но перед передачей модели эти категории нужно представить числами. Проблемой могут стать и пропущенные значения: неизвестный возраст, незаполненная зарплата или неуказанная категория. Большинство моделей не умеет работать с ними напрямую.
Подготовка данных — это этап, на котором исходные данные преобразуют в форму, подходящую для обучения модели. На этом этапе заполняют пропуски, кодируют категории, изменяют масштаб числовых признаков и выполняют другие необходимые преобразования.
Упрощённо процесс выглядит так:
DataFrame -> подготовка признаков -> Matrix -> модельЧто обычно делают
Заголовок раздела «Что обычно делают»На этапе подготовки данных:
- заполняют пропуски;
- кодируют категориальные признаки;
- масштабируют числовые признаки;
- выбирают нужные столбцы;
- превращают таблицу в матрицу признаков.
Основные инструменты
Заголовок раздела «Основные инструменты»Обработка пропусков показывает, как использовать Imputer, чтобы заменить пустые значения средним, медианой или константой.
Кодирование категорий объясняет, как преобразовать строковые категории в числа с помощью OrdinalEncoder и OneHotEncoder.
Масштабирование признаков показывает, зачем нужен StandardScaler и почему некоторые модели чувствительны к разному масштабу чисел.
Два уровня преобразования данных
Заголовок раздела «Два уровня преобразования данных»При подготовке данных используются два уровня.
- На уровне
DataFrameвыполняются начальные преобразования: выбор столбцов, обработка пропусков и кодирование категорий. - На уровне
Matrixпреобразуются числовые данные, подготовленные для передачи модели машинного обучения. - Преобразования выполняются последовательно: сначала — на уровне
DataFrame, затем — на уровнеMatrix.
Например, Imputer, OrdinalEncoder и OneHotEncoder работают с таблицей:
df := imputer.FitTransform(df);df := encoder.FitTransform(df);А StandardScaler применяется к матрице признаков:
var X := df.ToMatrix(['Возраст', 'Зарплата', 'Отдел']);var Xscaled := scaler.FitTransform(X);Что дальше
Заголовок раздела «Что дальше»После подготовки данных можно переходить к обучению моделей: классификации, регрессии и оценке качества.