一个热门编码多维数据

时间:2017-07-28 18:49:45

标签: python pandas scikit-learn keras

使用下面的代码我尝试了一个热码多维数据。在这种情况下,数据是2d。代码按1d数据的预期工作,但对于2d数据,每列是一个热编码而不是整行。例如:对于第一数据点[9,8]而不是生成单个热编码数据点,生成两个数据点,每个数据点对应于9&分别为8。

如何对多维数据进行热编码?

2dim.csv:

x_1,x_2
9,8
2,3
4,3
120,3
4,3
1,89
2,6
3,3

代码:

from sklearn.preprocessing import LabelEncoder
from keras.utils import np_utils
import pandas as pd

inputValues = pd.read_csv('2dim.csv')

enc = inputValues.apply(LabelEncoder().fit_transform)
cat = np_utils.to_categorical(enc , 20)

inputValues : 

enter image description here

cat : 

enter image description here

cat应包含9个热编码数据点,而不是18个。

这个可能的解决方案是否每隔两个相邻的内部数组合?例如,array([[1...n_1],[2...n_2],[3...n_3],[4...n_4]])映射到array([[1...n_1,2...n_2],[3...n_3,4...n_4]])

1 个答案:

答案 0 :(得分:-1)

尝试:pd.get_dummies(inputValues) (docs)