scikit-learn中的数据变换方法
- StandardScaler 每个特征的平均值为0、方差为1
- RobustScaler 使用中位数和四分位数,会忽略异常值
- MinMaxScaler 所有特征位于0和1之间
- Normalizer 每个数据点进行放缩,使得特征向量的欧式长度为1
当模型返回数据的新表示时,使用transform方法
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
scaler.fit(X_train)
X_train_scaled = scaler.transform(X_train)
print("transformed shape: {}".format(X_train_scaled.shape))
print("per-feature minimum before scaling:\n {}".format(X_train.min(axis=0)))
print("per-feature maximum before scaling:\n {}".format(X_train.max(axis=0)))
print("per-feature minimum after scaling:\n {}".format(
X_train_scaled.min(axis=0)))
print("per-feature maximum after scaling:\n {}".format(
X_train_scaled.max(axis=0)))
X_test_scaled = scaler.transform(X_test)
print("per-feature minimum after scaling:\n{}".format(X_test_scaled.min(axis=0)))
print("per-feature maximum after scaling:\n{}".format(X_test_scaled.max(axis=0)))
注:所有缩放器总是对训练集和测试集应用完全相同的变换,使得测试集的范围可能有所不同。
本文介绍scikit-learn库中的数据变换方法,包括StandardScaler、RobustScaler、MinMaxScaler和Normalizer,用于实现特征缩放,确保数据在机器学习模型中的有效应用。文章详细解释了每种缩放器的工作原理,并提供了代码示例。
928

被折叠的 条评论
为什么被折叠?



