Python中测试数据的1-hot编码

时间:2016-06-04 22:21:02

标签: python pandas one-hot-encoding

我正在研究分类问题。我的训练数据有一些我想转换为虚拟变量的分类变量。我可以轻松地与熊猫一起做。

问题是,如果测试数据具有列车数据中不存在的某些级别,该怎么办?如何将测试数据转换为与列车数据具有相同模式的1-hotcoded数据?

例如:

训练数据

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

1热编码列车数据

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(列车数据中不存在)。

0 个答案:

没有答案