outlier的处理方式

老师,再问一个关于outlier的处理方式。如果数据中有outlier一般情况下该怎么处理?我们是不是首先判断有没有outlier对模型performance的影响?如果没影响可以留着,那如果有影响的话,该怎么做?需要drop吗?

在supervised learning做model training的时候,我们一般不会对outlier做处理,除非有些数据是明显错误的,比如纬度(Latitude)大于90度的情况等等, 对于那些数据我们直接删掉就可以了。在处理完invalid data之后我们一般会把全部数据交给model处理,不会做过多人为干预。核心原因是,我们不知道如何明确地定义"outlier"。
如果你认为有一些数据和其他数据的分布明显不同,比如不同地区or不同conversion intent的用户的行为有明显区别,那么你应该对这些数据分别train不同的model。这种情况是很常见的。但是不能说其中一部分数据是"outlier"。
另外, outlier的概念可能更多出现在unsupervised learning问题中,此时outlier的定义就是“和其他人不一样”。那么我们把它们单独归为一类就可以了。这部分我们在课上也会讲。