НачатьНачать бесплатно

Стандартизация признаков

Стандартизация преобразует числовые признаки так, чтобы их среднее значение стало равно 0, а дисперсия — 1. В этом упражнении вы выполните стандартизацию с помощью StandardScaler() из библиотеки sklearn. Сначала вы отберёте только нужные столбцы для масштабирования, используя фильтрацию числовых столбцов в сочетании с регулярными выражениями, которые позволяют выполнять частичное совпадение строк. Эта фильтрация уже реализована и предоставлена вам. Затем вы примените fit_transform() для преобразования нужных столбцов.

Модуль pandas доступен как pd, а тестовый DataFrame загружен как df. Столбец hour уже преобразован в формат datetime, а StandardScaler из sklearn.preprocessing доступен в рабочем пространстве.

Это упражнение является частью курса

Прогнозирование CTR с помощью машинного обучения на Python

Посмотреть курс

Инструкции к упражнению

  • Выберите числовые столбцы и отфильтруйте заданный список filter_cols с помощью .select_dtypes().
  • Примените стандартизацию к нужным столбцам: сначала создайте объект StandardScaler(), затем вызовите .fit_transform().
  • Выведите дисперсию преобразованных столбцов с помощью .var().

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Get non-categorical columns, with a filter
num_df = df.____(include=['int', 'float'])
filter_cols = ['click', 'banner_pos', 'device_type',
               'search_engine_type', 'product_type', 'advertiser_type']
new_df = num_df[num_df.columns[~num_df.columns.____(filter_cols)]]
num_cols = new_df.____

# Transform columns using StandardScaler
scaler = ____()
df[num_cols] = scaler.____(df[____])

# Print mean and variance of transformed columns
print(df[num_cols].mean())
print(df[num_cols].____)
Редактировать и запускать код