Масштабирование функций в машинном обучении: методы и примеры кода

Масштабирование признаков – это этап предварительной обработки, используемый в машинном обучении для стандартизации или нормализации признаков (входных переменных) набора данных. Он направлен на то, чтобы привести все функции к одинаковому масштабу, что может улучшить производительность и сходимость определенных алгоритмов машинного обучения. Масштабирование функций гарантирует, что ни одна конкретная функция не будет доминировать в процессе обучения просто из-за ее большей величины.

Вот несколько распространенных методов масштабирования функций вместе с примерами кода на Python:

  1. Стандартизация (нормализация Z-показателя):
    Этот метод масштабирует объекты так, чтобы они имели нулевое среднее значение и единичную дисперсию.
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
scaled_features = scaler.fit_transform(features)
  1. Масштабирование Мин-Макс.
    Этот метод масштабирует функции в определенном диапазоне, обычно от 0 до 1.
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaled_features = scaler.fit_transform(features)
  1. Максимальное масштабирование.
    Этот метод масштабирует функции до определенного максимального значения, например 1.
from sklearn.preprocessing import MaxAbsScaler
scaler = MaxAbsScaler()
scaled_features = scaler.fit_transform(features)
  1. Надежное масштабирование.
    Этот метод масштабирует объекты на основе их медианного и межквартильного диапазона, что делает его устойчивым к выбросам.
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
scaled_features = scaler.fit_transform(features)
  1. Преобразование журнала.
    Этот метод применяет логарифмическое преобразование к объектам, что может помочь справиться с неравномерным распределением.
import numpy as np
scaled_features = np.log(features)
  1. Масштабирование единичного вектора.
    Этот метод масштабирует объекты так, чтобы они имели единичную норму, т. е. евклидова норма каждого вектора признаков становится равной 1.
from sklearn.preprocessing import Normalizer
scaler = Normalizer()
scaled_features = scaler.fit_transform(features)

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