Scalare e trasformare nuovi dati

Feature Engineering per il Machine Learning in Python

Robet O'Callaghan

Director of Data Science, Ordergroove

Riusa gli scaler del training

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 per il Machine Learning in Python

Trasformazioni dal training da riutilizzare

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 per il Machine Learning in Python

Perché usare solo i dati di training?

 

Data leakage: usare dati a cui non avrai accesso quando valuterai le prestazioni del modello

Feature Engineering per il Machine Learning in Python

Evita il data leakage!

Feature Engineering per il Machine Learning in Python

Preparing Video For Download...