Масштабирование функций в DataFrame — важнейший этап предварительной обработки данных, особенно при работе с числовыми данными различного масштаба. Масштабирование функций гарантирует, что все функции вносят одинаковый вклад в анализ, предотвращает предвзятость в отношении определенных функций и повышает производительность моделей машинного обучения. В этой статье мы рассмотрим различные методы масштабирования функций в DataFrame с помощью Python, в первую очередь с использованием библиотек pandas и scikit-learn.
Содержание:
-
Зачем масштабировать функции?
-
Стандартизация
- Использование панд
- Использование scikit-learn
-
Мин-макс масштабирование
- Использование панд
- Использование scikit-learn
-
Надежное масштабирование
- Использование панд
- Использование scikit-learn
-
Нормализация
- Использование панд
- Использование scikit-learn
-
Вывод
-
Зачем масштабировать функции?
Прежде чем углубляться в методы масштабирования, важно понять, почему необходимо масштабирование функций. Функции в DataFrame часто имеют разные масштабы, диапазоны и единицы измерения. Это несоответствие может привести к предвзятости моделей, замедлению сходимости и неправильной интерпретации важности признаков. Функции масштабирования приводят их к одинаковому диапазону, позволяя моделям проводить объективные сравнения и снижая влияние выбросов. -
Стандартизация.
Стандартизация, также известная как нормализация Z-показателя, преобразует объекты так, чтобы они имели нулевое среднее значение и единичную дисперсию. Он масштабирует данные, чтобы они соответствовали стандартному нормальному распределению.
Использование панд:
import pandas as pd
# Assuming df is your DataFrame
df_scaled = (df - df.mean()) / df.std()
Использование scikit-learn:
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
df_scaled = scaler.fit_transform(df)
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
- Масштабирование «Мин-Макс».
Масштабирование «Мин-Макс», также известное как нормализация, масштабирует характеристики до фиксированного диапазона, обычно от 0 до 1. Оно сохраняет исходную форму распределения.
Использование панд:
# Assuming df is your DataFrame
df_scaled = (df - df.min()) / (df.max() - df.min())
Использование scikit-learn:
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
df_scaled = scaler.fit_transform(df)
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
- Надежное масштабирование.
Надежное масштабирование – это метод, который масштабирует объекты на основе их межквартильного диапазона (IQR), а не среднего и стандартного отклонения. На него меньше влияют выбросы.
Использование панд:
# Assuming df is your DataFrame
df_scaled = (df - df.median()) / (df.quantile(0.75) - df.quantile(0.25))
Использование scikit-learn:
from sklearn.preprocessing import RobustScaler
scaler = RobustScaler()
df_scaled = scaler.fit_transform(df)
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
- Нормализация:
Нормализация масштабирует каждую точку данных до единицы измерения или длины, равной 1. Обычно она используется, когда направление данных имеет большее значение, чем их величина.
Использование панд:
import numpy as np
# Assuming df is your DataFrame
df_scaled = df.div(np.linalg.norm(df.values, axis=1), axis=0)
Использование scikit-learn:
from sklearn.preprocessing import Normalizer
scaler = Normalizer()
df_scaled = scaler.fit_transform(df)
df_scaled = pd.DataFrame(df_scaled, columns=df.columns)
В этой статье мы рассмотрели несколько методов масштабирования функций в DataFrame с помощью Python. Стандартизация, мин-максное масштабирование, устойчивое масштабирование и нормализация имеют свои преимущества и варианты использования. Выбор метода масштабирования зависит от характеристик данных и требований решаемой задачи машинного обучения. Правильно масштабируя функции, мы можем повысить производительность и надежность наших моделей анализа данных и машинного обучения.
Применяя эти методы масштабирования функций, вы можете быть уверены, что ваши данные подготовлены для точного анализа и моделирования, что приведет к более качественному анализу и прогнозированию.
Помните, что правильная предварительная обработка данных — важнейший шаг в любом проекте по науке о данных, а масштабирование функций — лишь один из ее аспектов. Следите за новостями о предварительной обработке данных и других важных темах в области науки о данных.