Escalar y transformar datos nuevos

Ingeniería de características para Machine Learning en Python

Robet O'Callaghan

Director of Data Science, Ordergroove

Reutiliza los escaladores del entrenamiento

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

Ingeniería de características para Machine Learning en Python

Transformaciones del entrenamiento para reutilizar

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

Ingeniería de características para Machine Learning en Python

¿Por qué usar solo los datos de entrenamiento?

 

Fuga de datos: usar datos a los que no tendrás acceso cuando evalúes el rendimiento de tu modelo

Ingeniería de características para Machine Learning en Python

¡Evita la fuga de datos!

Ingeniería de características para Machine Learning en Python

Preparing Video For Download...