基于欧氏距离和马氏距离的异常点检测—matlab实现
前几天接的一个小项目,基于欧氏距离和马氏距离的异常点检测,已经交接完毕,现在把代码公开。
基于欧式距离的:
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实现的更多相关文章
- MATLAB求马氏距离(Mahalanobis distance)
MATLAB求马氏距离(Mahalanobis distance) 作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 1.马氏距离计算公式 d2(xi, ...
- 马氏距离(Mahalanobis distance)
马氏距离(Mahalanobis distance)是由印度统计学家马哈拉诺比斯(P. C. Mahalanobis)提出的,表示数据的协方差距离.它是一种有效的计算两个未知样本集的相似度的方法.与欧 ...
- paper 114:Mahalanobis Distance(马氏距离)
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...
- Mahalanobis距离(马氏距离)的“哲学”解释
讲解教授:赵辉 (FROM : UESTC) 课程:<模式识别> 整理:PO主 基础知识: 假设空间中两点x,y,定义: 欧几里得距离, Mahalanobis距离, 不难发现,如果去掉马 ...
- Mahalanobis Distance(马氏距离)
(from:http://en.wikipedia.org/wiki/Mahalanobis_distance) Mahalanobis distance In statistics, Mahalan ...
- 有关马氏距离和hinge loss的学习记录
关于度量学习,之前没有看太多相关的文献.不过南京的周老师的一篇NIPS,确实把这个问题剖析得比较清楚. Mahalanobis距离一般表示为d=(x-y)TM(x-y),其中x和y是空间中两个样本点, ...
- Mahalanobia Distance(马氏距离)的解释
马氏距离有多重定义: 1)可以表示 某一个样本与DataSet的距离. 2)可以表示两个DataSet之间的距离. 1) The Mahalanobis distance of an observat ...
- Python实现的计算马氏距离算法示例
Python实现的计算马氏距离算法示例 本文实例讲述了Python实现的计算马氏距离算法.分享给大家供大家参考,具体如下: 我给写成函数调用了 python实现马氏距离源代码: # encod ...
- 机器学习中应用到的各种距离介绍(附上Matlab代码)
转载于博客:各种距离 在做分类时常常需要估算不同样本之间的相似性度量(SimilarityMeasurement),这时通常采用的方法就是计算样本间的"距离"(Distance). ...
随机推荐
- vs2013载入zlib库,即include "zlib.h"
转自wo13142yanyouxin原文vs2013载入zlib库,即include "zlib.h" 在程序中,我们经常要用到压缩,解压函数.以压缩函数compress为例进行说 ...
- [置顶]
一个简单好用的zabbix告警信息发送工具
之前使用邮件和短信发送zabbix告警信息,但告警信息无法实时查看或者无法发送,故障无法及时通知运维人员. 后来使用第三方微信接口发送信息,愉快地用了一年多,突然收费了. zabbix告警一直是我的痛 ...
- 关于Web应用和容器的指纹收集以及自动化软件的制作
一次对Web应用的渗透,九成都是从信息收集开始,所以信息收集就显得尤为重要.关键信息的收集可以使你在后期渗透的时候更加的得心应手,把渗透比喻成走黑暗迷宫的话,那信息收集可以帮你点亮迷宫的大部分地图. ...
- 做dg时遇到的log_archive_dest、log_archive_dest_1、db_recovery_file_dest之间互相影响
前提:归档开启.默认不指定归档文件夹. 今晚遇到客户那里设置了闪回区和log_archive_dest.不停库做DG时,无法指定log_archive_dest_n參数,巨坑. .实验了下.结论例如以 ...
- openssl之BIO系列之22---Cipher类型的BIO
Cipher类型BIO ---依据openssl doc\crypto\bio_f_cipher.pod翻译和自己的理解写成 (作者:DragonKing, Mail: wzhah@263.net , ...
- 面向对象程序的设计原则--Head First 设计模式笔记
一.找出应用中可能需要变化的地方,把它们独立出来,不要和那些不需要变化的代码混在一起. 把会变化的部分取出并“封装”起来,好让其他部分不会受到影响.这样,代码变化引起的不经意后果变少,系统变得更有弹性 ...
- leetcode_Multiply Strings
描写叙述: Given two numbers represented as strings, return multiplication of the numbers as a string. No ...
- IDEA------Error:java:无效的目标发行版:1/7
© 版权声明:本文为博主原创文章,转载请注明出处 使用IDEA发布java web项目时,报错.报错信息如下: 解决方案: 方案一:File-->Settings-->Build,Exec ...
- WinDbg调试分析 net站点 CPU100%问题
WinDbg调试分析 asp.net站点 CPU100%问题 公司为了节省成本,最近有一批服务器降了配置,CPU从8核降到了2核.本身是小站点,访问量也不高,CPU总是会飙到100%而且可以一直持续几 ...
- hdu 5538 House Building(长春现场赛——水题)
题目链接:acm.hdu.edu.cn/showproblem.php?pid=5538 House Building Time Limit: 2000/1000 MS (Java/Others) ...