Mise à l'échelle et transformation de nouvelles données

Ingénierie des caractéristiques pour le Machine Learning en Python

Robet O'Callaghan

Director of Data Science, Ordergroove

Réutiliser les normaliseurs d'entraînement

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']])

Ingénierie des caractéristiques pour le Machine Learning en Python

Transformations d'entraînement à réutiliser

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)]

Ingénierie des caractéristiques pour le Machine Learning en Python

Pourquoi n'utiliser que les données d'entraînement ?

 

Fuite de données : utilisation de données auxquelles vous n'aurez pas accès au moment d'évaluer la performance de votre modèle

Ingénierie des caractéristiques pour le Machine Learning en Python

Évitez la fuite de données !

Ingénierie des caractéristiques pour le Machine Learning en Python

Preparing Video For Download...