徐劍 陳勁舟
摘要:校園卡中存儲(chǔ)了大量的數(shù)據(jù),近幾年來(lái),這些數(shù)據(jù)越來(lái)越受到大家的關(guān)注,該文將對(duì)存儲(chǔ)在校園卡中學(xué)生使用熱水的數(shù)據(jù)進(jìn)行研究,通過K-means算法進(jìn)行嘗試分析學(xué)生對(duì)熱水使用情況,了解學(xué)生對(duì)熱水的需求量,從而可以提供給學(xué)校后勤部門一些參考意見,有助于學(xué)校的建設(shè)和管理,更有助于滿足學(xué)生的需要。
關(guān)鍵詞:K-means算法;熱水需求;數(shù)據(jù)預(yù)處理
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2012)33-7885-03
校園卡在高校已經(jīng)使用多年,經(jīng)過近些年的使用,在校園卡中心已經(jīng)存儲(chǔ)了海量的數(shù)據(jù),這些數(shù)據(jù)包括就餐數(shù)據(jù)、上機(jī)數(shù)據(jù)、借書數(shù)據(jù)、用水?dāng)?shù)據(jù)等多種數(shù)據(jù)。這些數(shù)據(jù)已經(jīng)越來(lái)越被學(xué)校重視,因?yàn)檫@些數(shù)據(jù)是學(xué)生本人使用產(chǎn)生的,對(duì)這些海量的數(shù)據(jù)進(jìn)行研究分析,可以了解學(xué)生的一些內(nèi)在信息。因此該文將對(duì)學(xué)生的用水?dāng)?shù)據(jù)進(jìn)行研究與探索,了解學(xué)生使用熱水的一些情況,有助于學(xué)校了解學(xué)生的更多情況,也有助于學(xué)校的建設(shè)。
1對(duì)學(xué)生用水?dāng)?shù)據(jù)的預(yù)處理
該文研究的用水?dāng)?shù)據(jù)是學(xué)生使用熱水產(chǎn)生的數(shù)據(jù),反映了學(xué)生每天熱水的使用情況,這部分?jǐn)?shù)據(jù)的來(lái)源是學(xué)生每天使用校園卡消費(fèi)熱水的數(shù)據(jù),學(xué)生每次用校園卡刷卡使用熱水就會(huì)在數(shù)據(jù)庫(kù)中產(chǎn)生一條數(shù)據(jù),該文以高校1萬(wàn)個(gè)學(xué)生為例子,使用熱水的數(shù)據(jù)量每天達(dá)到上萬(wàn)條記錄,這樣一個(gè)月就達(dá)到幾十萬(wàn)條的數(shù)據(jù)記錄,面對(duì)如此多的數(shù)據(jù)量,為了提高數(shù)據(jù)挖掘效率與數(shù)據(jù)挖掘的準(zhǔn)確率,該文在進(jìn)行數(shù)據(jù)挖掘前,將對(duì)該部分?jǐn)?shù)據(jù)將進(jìn)行預(yù)處理過程,數(shù)據(jù)預(yù)處理過程分為:對(duì)數(shù)據(jù)進(jìn)行清理、集成、變換、規(guī)約四個(gè)部分,經(jīng)過數(shù)據(jù)預(yù)處理后的數(shù)據(jù)能夠方便于后續(xù)的研究。
1.1數(shù)據(jù)清理
數(shù)據(jù)清理過程就是處理數(shù)據(jù)中的噪聲和數(shù)據(jù)的缺失等部分或者是降噪的一個(gè)過程。學(xué)校一卡通系統(tǒng)中存儲(chǔ)了學(xué)生、教職工、以及臨時(shí)職工等的大量數(shù)據(jù),為了保證研究數(shù)據(jù)的可靠性和穩(wěn)定性,我們將一些會(huì)影響數(shù)據(jù)真實(shí)性的離群數(shù)據(jù)剔除,如在校園卡中的數(shù)據(jù)還包括研究生、教職工等的數(shù)據(jù),他們使用校園卡的頻率不高,這樣的對(duì)數(shù)據(jù)分析會(huì)產(chǎn)生影響,因此該文選擇在校的本科生的數(shù)據(jù)為樣本進(jìn)行研究,這樣的數(shù)據(jù)更為準(zhǔn)確,因此通過這部分?jǐn)?shù)據(jù)的分析,可以相對(duì)準(zhǔn)確的描述學(xué)生使用熱水的一些情況。
1.2數(shù)據(jù)集成
由于該文研究中用到的數(shù)據(jù)來(lái)源于不同的兩類數(shù)據(jù)(開水的使用和洗澡時(shí)熱水的使用)。由于數(shù)據(jù)來(lái)源不同,所以必須進(jìn)行數(shù)據(jù)基集成,將不同的數(shù)據(jù)的數(shù)據(jù)整合到一起,方便研究。
1.3數(shù)據(jù)變換
數(shù)據(jù)變換是對(duì)數(shù)據(jù)的格式和結(jié)構(gòu)進(jìn)行一定的轉(zhuǎn)化,使我們?cè)谘芯窟^程中能夠?qū)崿F(xiàn)數(shù)據(jù)一致性,讓該部分?jǐn)?shù)據(jù)更容易實(shí)現(xiàn)分析的過程。該文在數(shù)據(jù)變換處理過程中的方法如下:對(duì)數(shù)據(jù)的泛化,它是一種常見的方法,即對(duì)數(shù)據(jù)處理時(shí)用更高層的概念來(lái)表達(dá)原來(lái)的數(shù)據(jù),使其數(shù)據(jù)能夠達(dá)到一定程度的壓縮。該文在對(duì)熱水使用數(shù)據(jù)的處理方式是把每個(gè)學(xué)生的每天熱水使用量進(jìn)行數(shù)據(jù)匯總,即實(shí)現(xiàn)每個(gè)用戶每天一條使用熱水的數(shù)據(jù)。這有利于我們對(duì)學(xué)生熱水使用情況的研究做進(jìn)一步簡(jiǎn)化處理。
1.4數(shù)據(jù)歸約
數(shù)據(jù)規(guī)約是數(shù)據(jù)預(yù)處理過程中非常重要的一步,數(shù)據(jù)規(guī)約的根本目的在于實(shí)現(xiàn)數(shù)據(jù)壓縮的一個(gè)過程,但它的前提是必須保持?jǐn)?shù)據(jù)的完整性,并且不改變?cè)袛?shù)據(jù)的真實(shí)內(nèi)涵。
數(shù)據(jù)規(guī)約一般方法:
1)數(shù)據(jù)屬性的選擇:數(shù)據(jù)庫(kù)建表時(shí)很多字段屬性是為了方便管理與操作,當(dāng)我們獲得的數(shù)據(jù)中,很多屬性在我們的挖掘研究時(shí)可能沒有太多的價(jià)值,更可能沒有相關(guān)性,因此在進(jìn)行數(shù)據(jù)處理時(shí),可以考慮將挖掘過程中無(wú)關(guān)或者是弱關(guān)聯(lián)的屬性刪除或放棄。
2)數(shù)值規(guī)約:實(shí)現(xiàn)某些數(shù)據(jù)可以通過其他的方式來(lái)代替的一個(gè)過程,如常見的有通過聚類等方式來(lái)實(shí)現(xiàn)。
在針對(duì)大量數(shù)據(jù)的挖掘時(shí),數(shù)據(jù)規(guī)約是必不可少的,它能實(shí)現(xiàn)數(shù)據(jù)量進(jìn)一步縮小,并且可以提高數(shù)據(jù)的效率。該文在數(shù)據(jù)預(yù)處理時(shí)也對(duì)熱水使用的數(shù)據(jù)情況進(jìn)行了數(shù)據(jù)規(guī)約。該文的數(shù)據(jù)來(lái)源于校園卡中心的數(shù)據(jù),該部分?jǐn)?shù)據(jù)是存儲(chǔ)在ORACLE中,數(shù)據(jù)有多張表格,數(shù)據(jù)表中存儲(chǔ)了大量的數(shù)據(jù),該文列出來(lái)某張數(shù)據(jù)表的一些屬性,這些屬性對(duì)該文的研究有些是非常重要的,有些則存在不必要性:
2K-means算法
K-means算法是聚類算法中的一種,同時(shí)也是經(jīng)典的算法之一,它可以很好實(shí)現(xiàn)聚類思想,實(shí)現(xiàn)劃分方法,算法優(yōu)點(diǎn)在于可伸縮和高效率。因此K-means的聚類方法容易實(shí)現(xiàn)球狀的數(shù)據(jù)分類。
2.1k-means算法的思想
K均值算法的根本思想在于實(shí)現(xiàn)把n個(gè)數(shù)據(jù)對(duì)象劃分成k個(gè)不同簇,且各個(gè)簇內(nèi)容的數(shù)據(jù)點(diǎn)到簇中心的平方和為最小。k的值為要求劃分簇的個(gè)數(shù),并且k個(gè)簇的數(shù)據(jù)中心要先隨機(jī)選擇。因此,k具有隨機(jī)性,這也是該算法的不足之處。選好劃分簇的個(gè)數(shù)k,并且選好k個(gè)簇的數(shù)據(jù)中心后,我們對(duì)n個(gè)數(shù)據(jù)(除初始的k個(gè)數(shù)據(jù)中心)進(jìn)行計(jì)算,更新簇內(nèi)的數(shù)據(jù)對(duì)象,以及計(jì)算簇的新均值(更新的過程是將每個(gè)數(shù)據(jù)點(diǎn)與聚類中心計(jì)算平方和,與誰(shuí)計(jì)算值最小,則被分派到相應(yīng)簇內(nèi),將所有數(shù)據(jù)分派完后,重新計(jì)算簇中心,如此重復(fù)分派,重復(fù)更新簇的過程),直到所有的簇中心、數(shù)據(jù)分派不再變化,則算法結(jié)束。該算法采用的聚類準(zhǔn)則函數(shù)是:E=[i-1Kp∈ci||P-Mi||2]。其中,Mi是各個(gè)簇的均值,P就是數(shù)據(jù)對(duì)象中的各個(gè)點(diǎn),E是所有數(shù)據(jù)對(duì)象的平方誤差和。在本算法中,算法結(jié)束或者函數(shù)收斂是在E值不再變小的情況下。
3學(xué)生熱水使用數(shù)據(jù)的聚類分析
該文對(duì)熱水使用情況的分析目的在于了解學(xué)生不同季節(jié)對(duì)熱水的需求量,通過分析后可以給學(xué)校后勤部門在提供熱水量時(shí)做一些參考依據(jù),從而可以避免熱水供應(yīng)過多或者熱水供應(yīng)不足的現(xiàn)象。該文通過對(duì)熱水使用量的聚類分析,來(lái)了解學(xué)生對(duì)熱水的需求量。
經(jīng)過前期的數(shù)據(jù)預(yù)處理過程,我們的研究數(shù)據(jù)已經(jīng)相當(dāng)具有代表性了,該文對(duì)數(shù)據(jù)進(jìn)行聚類時(shí),根據(jù)上面內(nèi)容的敘述,該文可以選用K均值的聚類算法進(jìn)行聚類分析,并將其劃分為四類。該文的數(shù)據(jù)樣本,是2010年9月到2010年12月間學(xué)生的熱水使用數(shù)據(jù),如圖1所示。
從圖中我們可以將聚類結(jié)果分為四類,在區(qū)域A類內(nèi)的時(shí)間為9月15日至9月30日,區(qū)域B類內(nèi)的時(shí)間為10月20日至11月3日,區(qū)域C內(nèi)的時(shí)間為11月24日至12月8日,區(qū)域D內(nèi)的時(shí)間為12月22日至12月29日,其他時(shí)間也存在一些離群點(diǎn),表明其他時(shí)間也存在使用熱水現(xiàn)象,只是人數(shù)相對(duì)不多,是正常的現(xiàn)象。
通過對(duì)上圖的分析,我們不難看出學(xué)生在這一學(xué)期使用熱水的情況,九月份相對(duì)于十月份、十一月份、十二月份的使用量明顯要小,九月份天氣熱,同學(xué)們熱水使用量少,但每天都在使用,情況可能是同學(xué)們每天都會(huì)洗澡,相對(duì)熱水供應(yīng)要多些。隨著天氣慢慢降溫,洗澡用水相對(duì)變少,因此用水量也就變少;十月份天氣開始變冷,一次性使用熱水量更大,從B、C、D區(qū)域我們不難看出,由于天氣變冷,同學(xué)們洗澡次數(shù)相對(duì)減少。因此十二月份用水明顯比十一月份用水量少。聚類的結(jié)果可以看出與我們現(xiàn)實(shí)是相符的,因此對(duì)這部分?jǐn)?shù)據(jù)的研究是有一定價(jià)值的,這部分的研究有助于學(xué)校后勤部門供水,也有助于學(xué)生用水。
4結(jié)束語(yǔ)
該文對(duì)學(xué)生的熱水使用數(shù)據(jù)進(jìn)行了聚類分析,了解到學(xué)生對(duì)熱水使用的一些情況,而這只是分析的初探。學(xué)生使用的校園卡內(nèi)部包含了很多有用的信息,這些信息值得我們?nèi)ド钊肓私?,有待我們繼續(xù)努力。
參考文獻(xiàn):
[1]HanJiawei,KamberM.數(shù)據(jù)挖掘概念與技術(shù)[M].范明,譯.北京:機(jī)械工業(yè)出版社,2008:3-5.
[2]吳紹函,余昭平.數(shù)據(jù)挖掘中關(guān)聯(lián)規(guī)則的研究[J].微計(jì)算機(jī)信息,2008:1-3,185-186.
[3]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu):C語(yǔ)言版[M].北京:清華大學(xué)出版社,2003:96-99.