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

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

Содержание:

  1. Зачем масштабировать функции?

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

    • Использование панд
    • Использование scikit-learn
  3. Мин-макс масштабирование

    • Использование панд
    • Использование scikit-learn
  4. Надежное масштабирование

    • Использование панд
    • Использование scikit-learn
  5. Нормализация

    • Использование панд
    • Использование scikit-learn
  6. Вывод

  7. Зачем масштабировать функции?
    Прежде чем углубляться в методы масштабирования, важно понять, почему необходимо масштабирование функций. Функции в DataFrame часто имеют разные масштабы, диапазоны и единицы измерения. Это несоответствие может привести к предвзятости моделей, замедлению сходимости и неправильной интерпретации важности признаков. Функции масштабирования приводят их к одинаковому диапазону, позволяя моделям проводить объективные сравнения и снижая влияние выбросов.

  8. Стандартизация.
    Стандартизация, также известная как нормализация 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)
  1. Масштабирование «Мин-Макс».
    Масштабирование «Мин-Макс», также известное как нормализация, масштабирует характеристики до фиксированного диапазона, обычно от 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)
  1. Надежное масштабирование.
    Надежное масштабирование – это метод, который масштабирует объекты на основе их межквартильного диапазона (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. Нормализация:
    Нормализация масштабирует каждую точку данных до единицы измерения или длины, равной 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. Стандартизация, мин-максное масштабирование, устойчивое масштабирование и нормализация имеют свои преимущества и варианты использования. Выбор метода масштабирования зависит от характеристик данных и требований решаемой задачи машинного обучения. Правильно масштабируя функции, мы можем повысить производительность и надежность наших моделей анализа данных и машинного обучения.

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

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