机器学习笔记(7)---K-近邻算法(5)---使用K近邻算法检测异常操作之二

前言

上一节给出了使用K近邻算法检测异常操作的一种方法,现给出另外一种方法。
转载请注明出处:http://blog.csdn.net/rosetta

使用K近邻算法检测异常操作之二

这节的内容和上节总体上类型,区别在于,上一节比较的是最频繁使用的命令和最不频繁使用的命令,而这次使用全量比较。
全量比较的思路仅仅特征选择上不太一样,它先统计所有15000条样本中不重复的命令条数(假设是x条),然后创建150条*x大小的list,即list大小为150条,每条的大小是x。
而这x个大小的值是这样算的,遍历这x条不重复的命令,看其是否是在每个100条分组中,如果在就置1,如果不在就置0。这个操作需要理解的是,x命令不一定都在每个100条分组中,但每个100条分组中的命令肯定在x中。
所以这样的操作结果有是一个150*x的list。如下图,这里的x=107,即此样本只有107条不重复的命令。
机器学习笔记(7)---K-近邻算法(5)---使用K近邻算法检测异常操作之二

整理完样本的特征后,和上一节的操作都是一样的了,再搞个变量用于存放样本的属性,这样样本数据就有了。然后取样本数据的前N条用于训练数据,150-N条用于测试数据。

不过本算法也是很坑,其预测结果也是没有一个是1,全是0。根本就没什么实际意义。

如有疑问之处欢迎加我微信交流,共同进步!请备注“CSDN博客”
机器学习笔记(7)---K-近邻算法(5)---使用K近邻算法检测异常操作之二