【发布时间】:2021-06-28 06:07:06
【问题描述】:
例如我有下面的火车。
name values
0 Tony 100
1 Smith 110
2 Sam 120
3 Shane 130
4 Sam 140
5 Ram 160
经过一次热编码后就变成了
values 0 1 2 3 4
0 100 1 0 0 0 0
1 110 0 1 0 0 0
2 120 0 0 1 0 0
3 130 0 0 0 1 0
4 140 0 0 1 0 0
5 160 0 0 0 0 1
现在假设我在生产中有测试数据,Danny 在name 中有一个新级别:
name values
0 Shane 200
1 Danny 210
2 Sam 220
3 Tony 180
4 Danny 150
经过一次热编码
values 0 1 2 3
0 200 1 0 0 0
1 210 0 1 0 0
2 220 0 0 1 0
3 180 0 0 0 1
4 150 0 1 0 0
基于上述情况,我有几个问题:
- 如何处理生产测试数据中新输入的分类变量级别或值?
- 如何保持模型的输入特征大小(如上例,训练数据为 6,测试数据为 5)?
-
Tony也是训练集中的特征 0,但在测试中它是特征 3;它会影响对训练模型的测试输入的预测吗?
【问题讨论】:
标签: python machine-learning scikit-learn one-hot-encoding data-preprocessing