一个热编码的问题

时间:2017-11-30 22:47:19

标签: python deep-learning one-hot-encoding

我使用一段相当简单的代码来one hot encode我的数据中的分类变量。代码如下:

from sklearn.preprocessing import OneHotEncoder
onehot_encoder = OneHotEncoder(sparse=False)    
onehot_encoded_quartile = onehot_encoder.fit_transform(df.quartile.reshape(-1, 1))
onehot_encoded_mt = onehot_encoder.fit_transform(df.modality_type.reshape(-1, 1))
onehot_encoded_quartile.shape, onehot_encoded_mt.shape
((1, 2173651), (2173651, 31))

df中的记录数:2173651

我希望这两个变量在第一维中具有相似的形状。正确的形状应该是(2173651,X),其中X是每个变量/特征中的类别数。

df.modality_type中的类别数量:31

df.quartile中的类别数量:3

以下是两个变量的内容:

df.modality_type.head(),df.quartile.head()

(8     0
 11    0
 15    0
 16    0
 21    1
 Name: modality_type, dtype: int64, 8     0
 11    1
 15    1
 16    2
 21    2
 Name: quartile, dtype: category
 Categories (3, int64): [1 < 2 < 0])

为什么我在这里有不同的形状?如何才能将正确的形状设为(2173651,X)

0 个答案:

没有答案