缩放与变换新数据

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

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

Python 中的机器学习特征工程

为何只用训练数据?

 

数据泄漏:在评估模型性能时使用了实际不可获得的数据

Python 中的机器学习特征工程

避免数据泄漏!

Python 中的机器学习特征工程

Preparing Video For Download...