第五篇:数据预处理(二) - 异常值处理

前言

       数据中如果有某个值偏离该列其他值比较离谱,那么就有可能是一个异常的值。在数据预处理中,自然需要把这个异常值检测出来,然后剔除掉,或者光滑掉,或者其他各种方法进行处理。

       需要注意的是,本文仅介绍最为基础的单维度异常检测及处理方法,而在实际应用中更多用到的是多维度异常检测,这部分得到时结合具体项目学习。

异常值处理

       1. 安装并导入包outliers并加载。

       2. 生成一组用于测试的数据集(本例采用随机生成):

       

       

       outlier计算偏离最远位置的点,它有两个参数:

       - opposite:它值为TRUE或者FALSE时分别表示的是两个距离方向的极值点。
       - logical:它的值同样为TRUE或者FALSE,分别表示用布尔值表示结果还是具体距离值表示。

       4. 处理:

       

       以上代码以每4个元素为单位进行均值光滑。

小结

       实际项目中使用的更多是多维的,更高级的距离检测机制。比如异常点的检测还可以采用聚类的方法,落在簇之外的点就是异常点。

       而且除了光滑,还有很多种异常值方式处理。一般来说和缺失值处理的方法相似,这里就不详细论述了。

 

posted @ 2017-05-20 20:32  穆晨  阅读(2990)  评论(0编辑  收藏  举报