徐剑 陈劲舟
摘要:校园卡中存储了大量的数据,近几年来,这些数据越来越受到大家的关注,该文将对存储在校园卡中学生使用热水的数据进行研究,通过K-means算法进行尝试分析学生对热水使用情况,了解学生对热水的需求量,从而可以提供给学校后勤部门一些参考意见,有助于学校的建设和管理,更有助于满足学生的需要。
关键词:K-means算法;热水需求;数据预处理
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2012)33-7885-03
校园卡在高校已经使用多年,经过近些年的使用,在校园卡中心已经存储了海量的数据,这些数据包括就餐数据、上机数据、借书数据、用水数据等多种数据。这些数据已经越来越被学校重视,因为这些数据是学生本人使用产生的,对这些海量的数据进行研究分析,可以了解学生的一些内在信息。因此该文将对学生的用水数据进行研究与探索,了解学生使用热水的一些情况,有助于学校了解学生的更多情况,也有助于学校的建设。
1对学生用水数据的预处理
该文研究的用水数据是学生使用热水产生的数据,反映了学生每天热水的使用情况,这部分数据的来源是学生每天使用校园卡消费热水的数据,学生每次用校园卡刷卡使用热水就会在数据库中产生一条数据,该文以高校1万个学生为例子,使用热水的数据量每天达到上万条记录,这样一个月就达到几十万条的数据记录,面对如此多的数据量,为了提高数据挖掘效率与数据挖掘的准确率,该文在进行数据挖掘前,将对该部分数据将进行预处理过程,数据预处理过程分为:对数据进行清理、集成、变换、规约四个部分,经过数据预处理后的数据能够方便于后续的研究。
1.1数据清理
数据清理过程就是处理数据中的噪声和数据的缺失等部分或者是降噪的一个过程。学校一卡通系统中存储了学生、教职工、以及临时职工等的大量数据,为了保证研究数据的可靠性和稳定性,我们将一些会影响数据真实性的离群数据剔除,如在校园卡中的数据还包括研究生、教职工等的数据,他们使用校园卡的频率不高,这样的对数据分析会产生影响,因此该文选择在校的本科生的数据为样本进行研究,这样的数据更为准确,因此通过这部分数据的分析,可以相对准确的描述学生使用热水的一些情况。
1.2数据集成
由于该文研究中用到的数据来源于不同的两类数据(开水的使用和洗澡时热水的使用)。由于数据来源不同,所以必须进行数据基集成,将不同的数据的数据整合到一起,方便研究。
1.3数据变换
数据变换是对数据的格式和结构进行一定的转化,使我们在研究过程中能够实现数据一致性,让该部分数据更容易实现分析的过程。该文在数据变换处理过程中的方法如下:对数据的泛化,它是一种常见的方法,即对数据处理时用更高层的概念来表达原来的数据,使其数据能够达到一定程度的压缩。该文在对热水使用数据的处理方式是把每个学生的每天热水使用量进行数据汇总,即实现每个用户每天一条使用热水的数据。这有利于我们对学生热水使用情况的研究做进一步简化处理。
1.4数据归约
数据规约是数据预处理过程中非常重要的一步,数据规约的根本目的在于实现数据压缩的一个过程,但它的前提是必须保持数据的完整性,并且不改变原有数据的真实内涵。
数据规约一般方法:
1)数据属性的选择:数据库建表时很多字段属性是为了方便管理与操作,当我们获得的数据中,很多属性在我们的挖掘研究时可能没有太多的价值,更可能没有相关性,因此在进行数据处理时,可以考虑将挖掘过程中无关或者是弱关联的属性删除或放弃。
2)数值规约:实现某些数据可以通过其他的方式来代替的一个过程,如常见的有通过聚类等方式来实现。
在针对大量数据的挖掘时,数据规约是必不可少的,它能实现数据量进一步缩小,并且可以提高数据的效率。该文在数据预处理时也对热水使用的数据情况进行了数据规约。该文的数据来源于校园卡中心的数据,该部分数据是存储在ORACLE中,数据有多张表格,数据表中存储了大量的数据,该文列出来某张数据表的一些属性,这些属性对该文的研究有些是非常重要的,有些则存在不必要性:
2K-means算法
K-means算法是聚类算法中的一种,同时也是经典的算法之一,它可以很好实现聚类思想,实现划分方法,算法优点在于可伸缩和高效率。因此K-means的聚类方法容易实现球状的数据分类。
2.1k-means算法的思想
K均值算法的根本思想在于实现把n个数据对象划分成k个不同簇,且各个簇内容的数据点到簇中心的平方和为最小。k的值为要求划分簇的个数,并且k个簇的数据中心要先随机选择。因此,k具有随机性,这也是该算法的不足之处。选好划分簇的个数k,并且选好k个簇的数据中心后,我们对n个数据(除初始的k个数据中心)进行计算,更新簇内的数据对象,以及计算簇的新均值(更新的过程是将每个数据点与聚类中心计算平方和,与谁计算值最小,则被分派到相应簇内,将所有数据分派完后,重新计算簇中心,如此重复分派,重复更新簇的过程),直到所有的簇中心、数据分派不再变化,则算法结束。该算法采用的聚类准则函数是:E=[i-1Kp∈ci||P-Mi||2]。其中,Mi是各个簇的均值,P就是数据对象中的各个点,E是所有数据对象的平方误差和。在本算法中,算法结束或者函数收敛是在E值不再变小的情况下。
3学生热水使用数据的聚类分析
该文对热水使用情况的分析目的在于了解学生不同季节对热水的需求量,通过分析后可以给学校后勤部门在提供热水量时做一些参考依据,从而可以避免热水供应过多或者热水供应不足的现象。该文通过对热水使用量的聚类分析,来了解学生对热水的需求量。
经过前期的数据预处理过程,我们的研究数据已经相当具有代表性了,该文对数据进行聚类时,根据上面内容的叙述,该文可以选用K均值的聚类算法进行聚类分析,并将其划分为四类。该文的数据样本,是2010年9月到2010年12月间学生的热水使用数据,如图1所示。
从图中我们可以将聚类结果分为四类,在区域A类内的时间为9月15日至9月30日,区域B类内的时间为10月20日至11月3日,区域C内的时间为11月24日至12月8日,区域D内的时间为12月22日至12月29日,其他时间也存在一些离群点,表明其他时间也存在使用热水现象,只是人数相对不多,是正常的现象。
通过对上图的分析,我们不难看出学生在这一学期使用热水的情况,九月份相对于十月份、十一月份、十二月份的使用量明显要小,九月份天气热,同学们热水使用量少,但每天都在使用,情况可能是同学们每天都会洗澡,相对热水供应要多些。随着天气慢慢降温,洗澡用水相对变少,因此用水量也就变少;十月份天气开始变冷,一次性使用热水量更大,从B、C、D区域我们不难看出,由于天气变冷,同学们洗澡次数相对减少。因此十二月份用水明显比十一月份用水量少。聚类的结果可以看出与我们现实是相符的,因此对这部分数据的研究是有一定价值的,这部分的研究有助于学校后勤部门供水,也有助于学生用水。
4结束语
该文对学生的热水使用数据进行了聚类分析,了解到学生对热水使用的一些情况,而这只是分析的初探。学生使用的校园卡内部包含了很多有用的信息,这些信息值得我们去深入了解,有待我们继续努力。
参考文献:
[1]HanJiawei,KamberM.数据挖掘概念与技术[M].范明,译.北京:机械工业出版社,2008:3-5.
[2]吴绍函,余昭平.数据挖掘中关联规则的研究[J].微计算机信息,2008:1-3,185-186.
[3]严蔚敏,吴伟民.数据结构:C语言版[M].北京:清华大学出版社,2003:96-99.