基于K-means算法的网络数据的聚类分析
Posted fpga&matlab
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于K-means算法的网络数据的聚类分析相关的知识,希望对你有一定的参考价值。
这里,从网站“http://reality.media.mit.edu/download.php”下载“the Reality Mining project”的数据库,用作本课题的实际的测试数据,使用MATLAB进行价值,可以看到如下的数据信息:
图1 网络数据列表
根据本课题的要求,我们需要通过该数据库进行分析,从而提供各种网络数据服务,比如用户工作的地点的分析,用户登入时间的分析,用户使用电脑设备类别,用户发送短信信息等等。
这里我们将重点根据数据库中的地址信息来分析不同用户的实际工作地点或者活动地点。
在为每一个用户生成所有的变量后,必须对数据进行清洗,检查所有变量的缺失值、未知值、无效值或有效值。
缺失值:一条记录(观测)的某个字段(变量)没有值,为空;
未知值:一条记录(观测)的某个字段(变量)有值,但不知道其意义;
无效值:一条记录(观测)的某个字段(变量)值是无效的,但其意义是已知的;
有效值:一条记录(观测)的某个字段(变量)值是有效的,这是正常的情况。
数据清洗的过程就是把缺失值、未知值或无效值用有效值替代的过程。经过检查本研究数据有大量缺失值的发生,因为某些客户在某些特定的产品没有进行交易,因此在不同的表关联到一起的时候有缺失的情况发生,对这部分记录全用0代替。没有未知值和无效值的情况发生。
此外,对于数据的异常值,本文采取的措施是删除,最后,为了提高聚类的效果,需要去掉相关性较高的变量,主成分分析可以生成原始变量线性组合的主成分,这些主成分既保留了原始变量的大部分信息,而且相互独立,可以提高聚类的效果。本研究对相关性较高的变量提取主成分,这些主成分和与任何变量都不相关的变量一起作为聚类的输入变量。
通过上面的操作之后,将所需要的数据单独保存为*.mat格式,这样可以方便的为后面的操作使用。
在MATLAB中,运行“data_catch.m“代码执行数据提取和保存。此时,我们将所用到的数据信息通信时间,基站ID号,地区标号,通信小区标号保存到了其他数据库中:
最后考虑数据的唯一性,即为了对不同区域的用户进行聚类分析,那么不考虑时间因素,这样可以只保存每个用户出现过的活动区域,从而方便最终的聚类分析。
这样,在后期的处理的时候,可以大大提高数据处理效率。
A12-05
以上是关于基于K-means算法的网络数据的聚类分析的主要内容,如果未能解决你的问题,请参考以下文章