在中等高维数据集上执行异常值检测的另一种有效方法是使用局部异常因子(Local Outlier Factor ,LOF)算法。
1、算法思想
LOF通过计算一个数值score来反映一个样本的异常程度。这个数值的大致意思是:一个样本点周围的样本点所处位置的平均密度比上该样本点所在位置的密度。比值越大于1,则该点所在位置的密度越小于其周围样本所在位置的密度,这个点就越有可能是异常点。关于密度等理论概念,详见下面第二部分。
2、LOF的具体理论
关于LOF的理论,可以参考这篇文章,写的非常详细具体!
https://blog.csdn.net/wangyibo0201/article/details/51705966
3、LocalOutlierFactor主要参数和函数介绍
class sklearn.neighbors.LocalOutlierFactor(n_neighbors=20, algorithm=’auto’, leaf_size=30, metric=’minkowski’, p=2, metric_params=None, contamination=0.1, n_jobs=1)
1)主要参数
n_neighbors :
设置k,default=20
contamination :
设置样本中异常点的比例,default=0.1
2)主要属性:
negative_outlier_factor_ : numpy array, shape (n_samples,)
异常检测——局部异常因子(Local Outlier Factor ,LOF)算法
最新推荐文章于 2024-10-19 07:50:15 发布
本文介绍了局部异常因子(LOF)算法在中高维数据集上的应用,用于异常值检测。LOF通过计算样本点的得分反映其异常程度,值越大,异常可能性越高。文章详细解释了LOF的理论,关键参数,并提供了一个使用sklearn库实现LOF的Python实例。
摘要由CSDN通过智能技术生成