Нормализация данных — это фундаментальный этап предварительной обработки данных, который обеспечивает согласованность данных и повышает производительность моделей машинного обучения. В этой статье мы рассмотрим различные методы нормализации данных в Python, а также примеры кода для каждого подхода. Независимо от того, являетесь ли вы новичком или опытным специалистом по данным, это подробное руководство поможет вам понять различные методы и их реализацию в Python.
Метод 1: мин-максное масштабирование
Мин-максное масштабирование, также известное как масштабирование признаков, масштабирует данные до определенного диапазона, обычно от 0 до 1. Он сохраняет относительные взаимосвязи между точками данных. Вот пример использования библиотеки scikit-learn:
from sklearn.preprocessing import MinMaxScaler
# Create a MinMaxScaler object
scaler = MinMaxScaler()
# Fit and transform the data
normalized_data = scaler.fit_transform(data)
Метод 2: Стандартизация
Стандартизация преобразует данные так, чтобы они имели нулевое среднее значение и единичную дисперсию. Он подходит, когда распределение данных неизвестно или не является гауссовым. Библиотека scikit-learn предоставляет класс StandardScaler для стандартизации:
from sklearn.preprocessing import StandardScaler
# Create a StandardScaler object
scaler = StandardScaler()
# Fit and transform the data
normalized_data = scaler.fit_transform(data)
Метод 3: Робастное масштабирование
Надежное масштабирование похоже на стандартизацию, но менее чувствительно к выбросам. Он масштабирует данные, используя статистику, устойчивую к выбросам. Библиотека scikit-learn предлагает для этой цели класс RobustScaler:
from sklearn.preprocessing import RobustScaler
# Create a RobustScaler object
scaler = RobustScaler()
# Fit and transform the data
normalized_data = scaler.fit_transform(data)
Метод 4: Преобразование журнала
Преобразование журнала полезно, когда данные искажены и имеют длиннохвостое распределение. Он сжимает диапазон высоких значений и расширяет диапазон низких значений. Вот пример преобразования журнала с использованием библиотеки NumPy:
import numpy as np
# Apply log transformation
normalized_data = np.log(data)
Метод 5: нормализация Z-показателя
Нормализация Z-показателя, также известная как стандартная нормализация показателя, стандартизирует данные путем вычитания среднего значения и деления на стандартное отклонение. Он подходит для данных с распределением Гаусса. Вот пример использования NumPy:
import numpy as np
# Calculate mean and standard deviation
mean = np.mean(data)
std = np.std(data)
# Apply Z-Score normalization
normalized_data = (data - mean) / std
Нормализация данных — важнейший этап подготовки данных к анализу и моделированию. В этой статье мы рассмотрели несколько методов нормализации данных в Python, включая масштабирование Min-Max, стандартизацию, устойчивое масштабирование, преобразование журнала и нормализацию Z-Score. Каждый метод имеет свои преимущества и применим в различных сценариях. Применяя эти методы, вы можете повысить производительность и надежность своих моделей машинного обучения.