本文介绍了仅在选定的列上使用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标准缩放器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!