前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开。

基于欧式距离的:

load data1.txt %导入数据,行为样本,列为特征

X=data1; %赋值给X

u=mean(X); %求均值

[m,n]=size(X);

for i=1:m

dist(i)=sqrt(sum(X(i,:)-u).^2);

end

[a,b]=sort(dist);%对欧氏距离进行排序

T=ceil(m*0.02)%设置阀值

 

Threshold=a(m-T);%定为阀值

len=length(a);

for i = 1:len %遍历,如果小于阀值为正常点

if a(i) < Threshold

inlier(i) = [b(i)];

s=b(i);

disp(['正常点序列号:',num2str(s)])

 

end

end

% inlier

for i = 1:len %遍历,如果大于等于阀值为正常点

if a(i)>= Threshold

outlier(i) = [b(i)];

ns=b(i)

disp(['离群点序列号:',num2str(ns)])

end

end

% outlier

 

 

 

基于马氏距离的:

load data1.txt %导入数据,行为样本,列为特征

X=data1; %赋值给X

u=mean(X); %求均值

[m,n]=size(X);

for i=1:m

newdata=[X(i,:);u]

cov_w=cov(newdata);%求协方差矩阵

dist(i)=(X(i,:)-u)*cov_w*(X(i,:)-u)'%求出每个样本到u的马氏距离

end

[a,b]=sort(dist);%对马氏距离进行排序

T=ceil(m*0.02)%设置阀值

Threshold=a(m-T);%定为阀值

clear T;

len=length(a);

for i = 1:len %遍历,如果小于阀值,为正常点

if a(i) < Threshold

inlier(i) = [b(i)];

s=b(i);

disp(['正常点序列号:',num2str(s)])

end

end

% inlier

for i = 1:len %遍历,如果大于等于阀值为异常点

if a(i)>= Threshold

outlier(i) = [b(i)];

l=b(i)

disp(['离群点序列号:',num2str(l)])

end

end

% outlier

基于欧氏距离和马氏距离的异常点检测—matlab实现的更多相关文章

  1. MATLAB求马氏距离(Mahalanobis distance)

    MATLAB求马氏距离(Mahalanobis distance) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.马氏距离计算公式 d2(xi,  ...

  2. 马氏距离(Mahalanobis distance)

    马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离.它是一种有效的计算两个未知样本集的相似度的方法.与欧 ...

  3. paper 114:Mahalanobis Distance(马氏距离)

    (from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...

  4. Mahalanobis距离(马氏距离)的“哲学”解释

    讲解教授:赵辉 (FROM : UESTC) 课程:<模式识别> 整理:PO主 基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马 ...

  5. Mahalanobis Distance(马氏距离)

    (from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...

  6. 有关马氏距离和hinge loss的学习记录

    关于度量学习,之前没有看太多相关的文献.不过南京的周老师的一篇NIPS,确实把这个问题剖析得比较清楚. Mahalanobis距离一般表示为d=(x-y)TM(x-y),其中x和y是空间中两个样本点, ...

  7. Mahalanobia Distance(马氏距离)的解释

    马氏距离有多重定义: 1)可以表示 某一个样本与DataSet的距离. 2)可以表示两个DataSet之间的距离. 1) The Mahalanobis distance of an observat ...

  8. Python实现的计算马氏距离算法示例

    Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码:     # encod ...

  9. 机器学习中应用到的各种距离介绍(附上Matlab代码)

    转载于博客:各种距离 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance). ...

随机推荐

  1. Iosapp升级版本步骤

    1.打开地址https://itunesconnect.apple.com/WebObjects/iTunesConnect.woa,登录进入 2.选择ManageYour App,选中你要升级的那个 ...

  2. implement-stack-using-queues(easy,但也有思考价值)

    https://leetcode.com/problems/implement-stack-using-queues/ 还有种方法,就是利用同一个队列,知道队列长度前提下,把内容从头到尾,再向尾部依次 ...

  3. CSS实现鼠标放图片上显示白色边框+文字描写叙述

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. Redis 架构设计

    1.设计层面 (1) 存储小而热的数据 (2) 结合业务数据特点,正确使用内存类型 (3) 冷.热数据分离 2.架构层面 (1) 提前做好容量(内存)规划 (2) 结合持久化模式优劣正确使用,一般建议 ...

  5. OCP学习基本知识点总结

     下面是我总结的OCP教程的知识点.以备參考之用. 1, What's Oracle Server? ·         It's a database management system that ...

  6. Nook 2 Root

        最后我还是忍不住root了它,用了差一点够一个月 1.备份2.root 3.装软件=====================================================1. ...

  7. phpstorm 设置

    phpstorm 设置多项目并存 phpstorm 或 webstorm  设置多个项目可以并存: File -> settings -> Directories -> Add Co ...

  8. maven打包时无法加载lib下的jar

    © 版权声明:本文为博主原创文章,转载请注明出处 问题描述: 项目在本地部署没有问题,但是使用maven打包时报错: ***(引用jar中某个类的的路径) 不存在 ***(某个java类中的某行某列) ...

  9. 最短路 uva12661 Funny Car Racing

    传送门:点击打开链接 题意:给你有向图,每条边呈周期性开放,即开放a时间,再关闭b时间.再开放a时间以此类推 假设时间不足以穿过这条路则不能走.你能够在节点等待时间,问从s走到t所须要的最小时间 细致 ...

  10. Canvas中图片翻转的应用

    很多时候拿到的素材都是单方向的,需要将其手动翻转来达到需求,比如下面这张图片: 它是朝右边方向的,但还需要一张朝左边方向的,于是不得不打开PS将其翻转然后做成雪碧图.如果只是一张图片还好说,但通常情况 ...