资源简介

局部离群点检测算法,matlab代码实现

资源截图

代码片段和文件信息

function LOF
clc
clear
fileOrder=1;
%读取原始数据
x=readFile(fileOrder);
K=10;
%对数据操作
count=1;%outlier点个数
x=opeData(xcountfileOrder);
[mn]=size(x);
%% 计算各个点之间距离
for i=1:m
    for j=i:m
        dist(ij)=abs(x(i)-x(j));
        dist(ji)=dist(ij);
    end
end

%% 核心部分,对每个点分别计算LOF值
for i=1:m
    %计算k-distance
    [distancenum]=sort(dist(i:)‘ascend‘);
    kdistance=distance(K+1);
    %集合
    pointArray(i:)=num(2:K+1);
    %   对集合中每个点计算可达距离
    n=size(pointArray2);
    for j=1:n
        d(ij)=distance(j+1);
        [distempnumtemp]=sort(dist(i:)‘ascend‘);
        kdistemp=distemp(K+1);
        kdis(j)=kdistemp;
        %可达距离
        reachdis(ij)=max(d(ij)kdis(j));
    end
    sum_reachdis=0;
    for j=1:n
        sum_reachdis=sum_reachdis+reachdi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2488  2015-06-12 13:43  LOF.m

----------- ---------  ---------- -----  ----

                 2488                    1


评论

共有 条评论