Масштабування й трансформація нових даних

Feature Engineering для машинного навчання в Python

Robet O'Callaghan

Director of Data Science, Ordergroove

Повторне використання скейлерів із тренувальних даних

scaler = StandardScaler()

scaler.fit(train[['col']])

train['scaled_col'] = scaler.transform(train[['col']])

# FIT SOME MODEL
# ....

test = pd.read_csv('test_csv')

test['scaled_col'] = scaler.transform(test[['col']])

Feature Engineering для машинного навчання в Python

Трансформації на тренуванні для повторного використання

train_mean = train[['col']].mean()
train_std = train[['col']].std()

cut_off = train_std * 3
train_lower = train_mean - cut_off
train_upper = train_mean + cut_off

# Subset train data

test = pd.read_csv('test_csv')

# Subset test data
test = test[(test[['col']] < train_upper) & 
              (test[['col']] > train_lower)]

Feature Engineering для машинного навчання в Python

Чому використовувати лише тренувальні дані?

 

Витік даних: використання даних, до яких у вас не буде доступу під час оцінювання продуктивності моделі

Feature Engineering для машинного навчання в Python

Уникайте витоку даних!

Feature Engineering для машинного навчання в Python

Preparing Video For Download...