0

我正在研究一个分类问题。我的训练数据有一些分类变量,我想将它们转换为虚拟变量。我可以用 Pandas 轻松做到这一点。

问题是,如果测试数据具有训练数据中不存在的某些级别怎么办。如何将测试数据转换为与火车数据具有相同架构的 1-hotcoded 数据?

例如:

训练数据

id attribute  class
-------------------
1   'a'       'good'
2   'b'       'bad' 
3   'c'       'good'
4   'd'       'bad'

1-hot 编码的火车数据

id  dummy_attr_a  dummy_attr_b  dummy_attr_c  dummy_attr_d  class
-----------------------------------------------------------------
1        1              0            0             0        'good'      
2        0              1            0             0        'bad'
3        0              0            1             0        'good'
4        0              0            0             1        'bad'

测试数据

id attribute  class
-------------------
1   'a'       'good'
2   'e'       'bad'

问题是我不能直接将其转换为虚拟变量,因为这只会产生两个属性dummy_attr_adummy_attr_e(不存在于训练数据中)。

4

0 回答 0