仅在选定的列上使用SKLINE标准缩放器

Using sklearn StandardScaler on only select columns(仅在选定的列上使用SKLINE标准缩放器)

本文介绍了仅在选定的列上使用SKLINE标准缩放器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个数字数组X,它有3列,如下所示:

array([[    3791,     2629,        0],
       [ 1198760,   113989,        0],
       [ 4120665,        0,        1],
       ...

前两列是连续值,最后一列是BINARY(0,1)。我只想将StandardScaler类应用于前2列。我目前通过以下方式完成此操作:

scaler = StandardScaler()
X_subset = scaler.fit_transform(X[:,[0,1]])
X_last_column = X[:, 2]
X_std = np.concatenate((X_subset, X_last_column[:, np.newaxis]), axis=1)

X_std的输出结果为:

array([[-0.34141308, -0.18316715,  0.        ],
       [-0.22171671, -0.17606473,  0.        ],
       [ 0.07096154, -0.18333483,  1.        ],
       ...,

有没有办法一步完成这一切?我想将它作为管道的一部分包括在内,它将缩放前2列,并保留最后一个二进制列的原样。

推荐答案

从SCRICKIT-LEARN版本0.20开始,您可以完全使用函数sklearn.compose.ColumnTransformer来实现此目的。

这篇关于仅在选定的列上使用SKLINE标准缩放器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:仅在选定的列上使用SKLINE标准缩放器

基础教程推荐