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

Прогнозування CTR за допомогою машинного навчання в Python

Kevin Huo

Instructor

Чому стандартизація важлива

  • Стандартизація: щоб дані відповідали припущенням моделей
  • Деякі ознаки можуть мати надто велику дисперсію й необґрунтовано домінувати в моделях
  • Приклад: певний лічильник має надто широкий діапазон через одного спам-користувача
  • Не застосовується до категоріальних змінних, як-от site_id, app_id, device_id тощо
Прогнозування CTR за допомогою машинного навчання в Python

Лог-нормалізація

df.var()
click                   1.294270e-01
hour                    1.123316e-01
df.var().median()
0.7108583771671939
print(df['click'].var())
df['device_id_count'] = df[
  'device_id_count'].apply(
  lambda x: np.log(x))
print(df['click'].var())
249362570.10134825
15.628476003312514
Прогнозування CTR за допомогою машинного навчання в Python

Масштабування даних

  • Стандартне масштабування перетворює всі ознаки до середнього 0 та стандартного відхилення 1

Приклад стандартного масштабування

  • Загалом, це корисна практика для моделей машинного навчання
Прогнозування CTR за допомогою машинного навчання в Python

Як виконати стандартне масштабування

  • Масштабувати можна за допомогою StandardScaler() так:
scaler = StandardScaler()
X[numeric_cols] = scaler.fit_transform(X[numeric_cols])
dtype: float64
1    10.5 -> 0.85
2    32.3 -> 1.54
Прогнозування CTR за допомогою машинного навчання в Python

Давайте потренуємось!

Прогнозування CTR за допомогою машинного навчання в Python

Preparing Video For Download...