我很困惑,因为如果您首先执行OneHotEncoder
,然后执行StandardScaler
,那么将会出现问题,因为缩放器还将缩放之前由OneHotEncoder
转换的列。有没有办法同时执行编码和缩放,然后将结果连接在一起?单热编码分类变量和连续尺度连续变量
回答
当然可以。只是分别缩放和一热编码的单独的列按需要:
# Import libraries and download example data
from sklearn.preprocessing import StandardScaler, OneHotEncoder
dataset = pd.read_csv("http://www.ats.ucla.edu/stat/data/binary.csv")
print(dataset.head(5))
# Define which columns should be encoded vs scaled
columns_to_encode = ['rank']
columns_to_scale = ['gre', 'gpa']
# Instantiate encoder/scaler
scaler = StandardScaler()
ohe = OneHotEncoder(sparse=False)
# Scale and Encode Separate Columns
scaled_columns = scaler.fit_transform(dataset[columns_to_scale])
encoded_columns = ohe.fit_transform(dataset[columns_to_encode])
# Concatenate (Column-Bind) Processed Columns Back Together
processed_data = np.concatenate([scaled_columns, encoded_columns], axis=1)
不能得到您的观点OneHotEncoder
用于名义数据,而StandardScaler
用于数字数据。所以你不应该把它们一起用于你的数据。
请告诉我如何在标称数据(特别是** string **类型)上使用'OneHotEncoder'。与其他人一样,我需要这个功能。 –
您可以先使用LabelEncoder,然后使用OneHotEncoder: 'import numpy as np winds = np.array([['SE'],['NW'],['NW'],['NE'], [ 'SE']]) 从sklearn.preprocessing进口sklearn.preprocessing进口LabelEncoder OneHotEncoder int_encoded = LabelEncoder()fit_transform(风[:。,0])重塑((LEN(风), - 1) ) one_hot_encoded = OneHotEncoder(稀疏=假).fit_transform(int_encoded) #收到此: 阵列([[0。,0,1], [0,1,0], [0.,1,0], [1,0,0,0], [0.,0.1]]) –
- 1. 图表。与连续变量和分类变量的相关性
- 2. 如何分类连续变量
- 3. R - 分析连续变量的分类变量的影响
- 4. 从连续变量创建分类变量W /缩放数据
- 5. 如何从分类变量创建连续变量
- 6. 如何用ggplot表示分类变量与连续变量?
- 7. combobox插入连续变量
- 8. Gnuplot循环连续变量
- 9. 使IR变量编号连续
- 10. 在R中编组连续变量
- 11. 制作连续变量分布的barplot
- 12. xslt连续变量和字符串
- 13. OptaPlanner和连续变量的实现
- 14. 连续变量和分类变量的相互作用代表了什么(Stata)?
- 15. PHP连续变量与常量
- 16. Php:连续变量中的常量
- 17. 如何找到每个分类变量的连续变量的均值
- 18. 如何重新编码连续变量到范围
- 19. 全局变量用C不连续
- 20. 离散化连续变量的日志
- 21. VxWorks终端连续读取变量
- 22. 连续3维变量的离散化
- 23. 用Shiny离散化连续变量
- 24. ggplot2:拟合geom_smooth()像分类变量是连续的
- 25. 使用dplyrXdf将连续变量转换为分类
- 26. XSLT连续变量中的多个变量不传播
- 27. 模拟与现有二元变量相关的连续变量
- 28. 转换虚拟变量来连续变量
- 29. [R] |中的单热编码分类到虚拟变量
- 30. R中压缩不连续的矢量连续矢量从1
OneHotEncoder具有参数'categorical_features'指定的列进行编码。您可以使用[FeatureUnion](http://scikit-learn.org/stable/modules/generated/sklearn.pipeline.FeatureUnion.html)分别执行两项操作,然后将它们合并在一起。 –