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

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

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

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

  1. Масштабирование мин-макс.
    Масштабирование мин-макс, также известное как нормализация, масштабирует объекты в определенный диапазон, обычно от 0 до 1. Формула для выполнения мин-максного масштабирования: :

    from sklearn.preprocessing import MinMaxScaler
    
    scaler = MinMaxScaler()
    scaled_features = scaler.fit_transform(features)
  2. Масштабирование Z-показателя.
    Масштабирование Z-показателя, также известное как стандартизация, преобразует признаки так, чтобы они имели среднее значение 0 и стандартное отклонение 1. Это особенно полезно при распределении признака. значения неизвестны или не являются гауссовскими. Формула масштабирования z-показателя:

    from sklearn.preprocessing import StandardScaler
    
    scaler = StandardScaler()
    scaled_features = scaler.fit_transform(features)
  3. Масштабирование Max Abs:
    Масштабирование Max Abs масштабирует признаки до абсолютного максимального значения каждого признака, в результате чего максимальное абсолютное значение каждого признака становится равным 1. Этот метод подходит, когда данные имеют редкое распределение и выбросы.

    from sklearn.preprocessing import MaxAbsScaler
    scaler = MaxAbsScaler()
    scaled_features = scaler.fit_transform(features)
  4. Надежное масштабирование.
    Надежное масштабирование полезно для обработки выбросов путем масштабирования функций с использованием статистики, устойчивой к выбросам. Он вычитает медиану и делит на межквартильный размах (IQR), чтобы привести признаки к общей шкале.

    from sklearn.preprocessing import RobustScaler
    
    scaler = RobustScaler()
    scaled_features = scaler.fit_transform(features)
  5. Преобразование журнала.
    Преобразование журнала полезно, когда данные положительно искажены или содержат экспоненциальные закономерности. Он применяет к объектам функцию натурального логарифма, делая распределение более симметричным.

    import numpy as np
    
    scaled_features = np.log(features)

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