Рубрики
Без рубрики

Как масштабировать атрибуты с нормализацией и стандартизацией

Атрибуты в разных масштабах распространены в проектах машинного обучения. Например, медицинская запись … Теги с обучением машины, наукой данных, Python.

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

В этих случаях мы можем применить процесс под названием Масштабирование Чтобы облегчить это сравнение. В этом процессе мы изменяем исходные данные, но сохраняя относительное расстояние между точками данных, чтобы мы сохраняем распределение атрибута.

Нормализация

В нормализации мы масштабируем атрибут, сделав все точки данных, помещенные в интервал от 0,0 до 1,0. Мы выражаем процесс нормализации с использованием формулы:

куда:

  • Х n О R м Х ^ {норма} Х n О R М. : это новый масштабный атрибут
  • Х м Я n X_ {min} X m Я n : это вектор столбца, где все элементы равны х m Я n x_ {min} х м Я n В
  • x m Я n x_ {min} х м Я n : это минимальное значение атрибута $ x $
  • x м А х x_ {max} х м А х : это максимальное значение атрибута $ X $

Для каждого значения атрибута мы вычитаем его минимально, а затем разделите результат путем разницы его максимума и его минимума. Среднее значение и стандартное отклонение также будут масштабированы, но преобразование сохранит распределение данных.

Стандартизация

В стандартизации атрибут преобразуется, чтобы иметь среднее значение 0 (ноль), а стандартное отклонение равно 1 (один). Следующая формула применяется:

Где:

  • $ X ^ {std} $: новый масштабный атрибут
  • $ X $: это вектор столбца, представляющий наш атрибут
  • $ \ mu $: это столбец вектор, где все элементы являются средним значением атрибута
  • $ \ sigma $: это стандартное отклонение атрибута

В стандартизации нет нижних и верхних пределов для новых значений данных. Но все они теперь выражены как унитарные расстояния от среднего.

Пример

В проекте Атрибуты масштабирования с нормализацией и стандартизацией Мы используем векторизированные операции, чтобы применить нормализацию и стандартизацию, чтобы масштабировать атрибуты набора данных ценообразования данных дома.

Например, мы использовали следующий код, чтобы применить нормализацию в Лотерей атрибут:

df_norm['LotFrontage'] = (df_float['LotFrontage'] - df_float['LotFrontage'].min()) / (df_float['LotFrontage'].max() - df_float['LotFrontage'].min())

Мы также применили стандартизацию к тому же атрибутам и сохранены результат в отделенном Dataframe :

df_std['LotFrontage'] = (df_float['LotFrontage'] - df_float['LotFrontage'].mean()) / df_float['LotFrontage'].std()

После масштабирования атрибутов мы создаем линейные регрессионные модели для каждого набора данных и сравнивали результаты.

Реальные данные против линейных регрессионных моделей

Заключение

Сравнивая счет моделей, мы пришли к выводу, что масштабирование атрибутов сами по себе не улучшает линейные регрессионные модели. Проверьте полный пример в ссылке ниже:

Оригинал: “https://dev.to/rodolfomendes/how-to-scale-attributes-with-normalization-and-standardization-41ja”