我正在研究一个分类问题。我的训练数据有一些分类变量,我想将它们转换为虚拟变量。我可以用 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_a
和dummy_attr_e
(不存在于训练数据中)。