使用python进行异常值(outlier)检测
什么是异常值?
在统计学中,异常值是值不属于某一特定群体的数据点。它是一个与其他数据大不相同的异常数据,与良好构成的数据组相背离。
异常值的检测(outlier)是一种数据挖掘过程,用于确定数据集中发现的异常值并确定其出现的详细信息。训练数据中含有异常值,通过相关算法找到训练数据的中心模式,忽略偏差观测值,从而检测出异常值。无论是通过识别错误还是主动预防,检测异常值对任何业务都是重要的。当前自动异常检测至关重要,因为大量数据无法用手动标记异常值。自动检测具有广泛的应用,例如信用卡欺诈检测,系统健康监测,故障检测以及传感器网络中的事件检测系统等。 我们的数据kaggle你可以在这里 下载 。 Expedia是全球最大的在线旅行社(OTA,类似我们的携程网),它每天为数百万旅行购物者提供搜索服务其中包括用户在Expedia网站上搜索酒店的相关信息,如国家,地区,房型,价格,入住天数,入住时间等信息。 我们想通过这个数据集来检测其中价格的异常值。今天我们通过使用python来实现异常值的自动检测系统的实战开发。我们将会使用以下技术来实现异常检测值的检测:
- KMean
- PCA
- IsolationForest
- SVM
- EllipticEnvelope
import pandas as pd#1
import numpy as np#2
import matplotlib.dates as md#3
import matplotlib