多级分类数据集的一种热编码

One hot encoding for multi level categorical data-set

我的数据集如下:

症状 (X) :: 状况 (Y)
发烧、头痛、失明::瓦格纳综合症
牙痛、发烧、尿甜 :: buri buri 疾病
失明、流鼻血、发烧::泰勒综合征

其中 X 是特征,Y 是我的标签。我想将 X 编码为单热编码矩阵。 panda 的 get_dummies 无法处理一列中的多个值,但如果我将 X 拆分为多列,我将失去将症状编码为同一个单热矩阵的能力

有什么想法吗?

没错,你的要求不是one-hot encoding。对于一个hot encoding,只有一个feature值为1,其他都是0。所以你可以考虑将你的X拆分成多个features,然后在sklearn中使用OrdinalEncoder

你可以用 Sklearn CountVectoriser 做到这一点,每个单词都是一列,一行是一个观察值。如果将二进制标记设置为 true,对于每一行,如果存在该单词,它将表示为该行|列的 1。将 binary 设置为 False 及其单词在句子中出现的次数。