test数据里出现train里没有的数据

比如train里city是A,B,C;但test里出现了一个D, 该怎么处理?

我记得老师上课讲过,忘了。。。

可以在training的时候加一个column是:other_city. 之后在inference阶段, 如果遇到training时没见过的class, 直接作为other处理即可。

老师,那training 时新加的这个column,other _city 下有data吗? 谢谢老师

一般来说是有data的。我们做model training的时候,一般是会预见到某个categorical feature在未来会有其他数值的,这样的话,我们会故意不把training data全部的取值全做one-hot-encoding, 而是直接把出现频率很低的value直接放入others这个feature, 这样的model training是更加合理的。

如果我们在training的时候把全部categorical feature取值做encoding,那么在training的时候others里面的取值就都是一样的数字 (e.g. 0) 了,那么相当于这个feature没有任何建模的意义,只是为了保证在inference的时候系统不报错。

明白了 十分感谢老师

1 个赞