独家 | 每个数据科学家应该知道的五种检测异常值的方法(附Python代码)
作者:Will Badr 翻译:顾伟嵩
校对:欧阳锦
本文约1600字,建议阅读5分钟 本文介绍了数据科学家必备的五种检测异常值的方法。
无论是通过识别错误还是主动预防,检测异常值对任何业务都是重要的。本文将讨论五种检测异常值的方法。
图来源于Will Myers在Unsplash上的拍摄
什么是异常值?
为什么我们要关注异常值?
方法1——标准差:
因此,如果你有任何出现在三个标准差范围外的数据点,那么那些点就极有可能是异常值。
让我们看看代码。
方法2——箱线图:
上面的代码输出如下的箱线图。如你所见,它把大于75或小于-35的值看作异常值。这个结果非常接近上述的方法1得到的结果。
四分位差是重要的,因为它用于定义异常值。它是第三个四分位数和第一个四分位数的差(IQR=Q3-Q1). 这种情况下的异常值被定义为低于(Q1-1.5IQR)或低于箱线图下须触线或高于(Q3+1.5IQR)或高于箱线图上须触线的观测值。
方法3——DBScan集群:
核心点:为了理解核心点,我们需要访问一些用于定义DBScan工作的超参数。第一个超参数是最小值样本(min_samples)。这只是形成集聚的核心点的最小数量。第二重要的超参数eps,它是两个被视为在同一个簇中的样本之间的最大距离。
边界点:是与核心点在同一集群的点,但是要离集群中心远得多。
其他的点被称为噪声点,那些数据点不属于任何集群。它们可能是异常点,可能是非异常点,需要进一步调查。现在让我们看看代码。
方法4——孤立森林
方法5——Robust Random Cut Forest
http://proceedings.mlr.press/v48/guha16.pdf
该算法的论文给出了一些与孤立森林相比较的性能标准。论文结果表明,RCF比孤立森林更加准确和快速。
amazon-sagemaker-examples/introduction_to_amazon_algorithms/random_cut_forest at master · aws/amazon-sagemaker-examples · GitHub
结论
译者简介
顾伟嵩,中国科学院大学网络空间安全专业研究生。对数据科学领域充满好奇,渴望探索未知世界。课余时间喜欢踢足球、游泳。愿意挑战新事物,结交新朋友,一起进步,一起成长。
翻译组招募信息
工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。
你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。
其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。
点击文末“阅读原文”加入数据派团队~
转载须知
如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。
发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。
点击“阅读原文”拥抱组织