吳軍,李紅梅
(遵義師范學(xué)院 信息工程學(xué)院,貴州遵義,563000)
隨著數(shù)據(jù)庫(kù)系統(tǒng)的逐漸壯大,傳統(tǒng)數(shù)據(jù)庫(kù)提供的搜索查詢等功能已無(wú)法再滿足人們的需求,其中最主要的問題是這些數(shù)據(jù)中隱藏著許多無(wú)法通過肉眼觀察發(fā)現(xiàn)的重要信息,為了解決這一問題,誕生了數(shù)據(jù)挖掘技術(shù)[1]。數(shù)據(jù)挖掘技術(shù)在計(jì)算機(jī)科學(xué)領(lǐng)域內(nèi)具有舉足輕重的地位,且得到了廣泛的應(yīng)用[2-4],其中,關(guān)聯(lián)規(guī)則挖掘是一種常用的數(shù)據(jù)分析技術(shù)[5]。
社會(huì)對(duì)于青少年的評(píng)價(jià)方式和標(biāo)準(zhǔn)與學(xué)生的自我認(rèn)知或多或少會(huì)存在一定程度的分歧,為了調(diào)查學(xué)生群體對(duì)自我的認(rèn)知以及他們心中合理的評(píng)價(jià)標(biāo)準(zhǔn),本文將類關(guān)聯(lián)規(guī)則挖掘技術(shù)應(yīng)用到了其中。具體研究方法為:第一步,針對(duì)研究問題設(shè)計(jì)了問卷,并將制作好的調(diào)查問卷通過線上填寫的方式進(jìn)行發(fā)放。第二步,對(duì)問卷數(shù)據(jù)進(jìn)行了清洗和整理,并利用Apriori算法[6]對(duì)通過調(diào)查問卷得到的初始集合進(jìn)行頻繁項(xiàng)集挖掘。第三步,為了驗(yàn)證挖掘到的頻繁項(xiàng)集的穩(wěn)定性和可靠性,利用了統(tǒng)計(jì)顯著性檢驗(yàn)中一種比較常見的方法—置換檢驗(yàn)方法[7]對(duì)挖掘結(jié)果進(jìn)行驗(yàn)證,并將通過驗(yàn)證的項(xiàng)集轉(zhuǎn)化成相應(yīng)的類關(guān)聯(lián)規(guī)則形式。最后,根據(jù)生成的類關(guān)聯(lián)規(guī)則結(jié)合大學(xué)生的具體情況進(jìn)行分析。這些通過分析得到的結(jié)論能夠促進(jìn)大學(xué)生心理健康的發(fā)展。
針對(duì)該研究問題,由于沒有現(xiàn)成的數(shù)據(jù),故使用了問卷調(diào)查的方式來生成研究問題所需的研究數(shù)據(jù)。設(shè)計(jì)的問卷中一共包含22個(gè)問題,且所有問題均為客觀題。舉三個(gè)例子:
(1)三觀是否是決定一個(gè)人優(yōu)秀的重要原因?
A.是,優(yōu)秀的人三觀都很正;
B.不是,優(yōu)秀的人三觀也不一定正;
C.因人而異,三觀不一定決定一個(gè)人是否優(yōu)秀。
(2)對(duì)于你來說,學(xué)習(xí)更重要的是樂趣還是任務(wù)?
A.樂趣;
B.任務(wù);
C.以前是樂趣,現(xiàn)在是為了完成任務(wù);
D.以前為了完成任務(wù),現(xiàn)在是種一樂趣。
(3)你認(rèn)為自己是一個(gè)孤獨(dú)的人?
A.是,性格比較內(nèi)向,生活中也沒什么朋友;
B.不是,性格比較外向,生活中有許多朋友;
C.是,雖然性格外向朋友也很多,但感覺他們不能走進(jìn)自己內(nèi)心;
D.不是,雖然性格內(nèi)向朋友很少,但有幾個(gè)理解自己的好朋友。
問卷采用線上提交的方式發(fā)放,同時(shí),為了提高數(shù)據(jù)的真實(shí)性及可靠性,發(fā)放時(shí)沒有地區(qū)局限性。經(jīng)過一個(gè)月的宣傳,共收到984份有效的調(diào)查問卷。從線上平臺(tái)提取到這些問卷后,對(duì)其中的數(shù)據(jù)進(jìn)行了清洗,并整理成<編號(hào),屬性1,屬性2, … , 屬性22 >形式以匹配后續(xù)的頻繁項(xiàng)集挖掘算法。
在海量的數(shù)據(jù)集中有大量的長(zhǎng)度為1的項(xiàng)集,這些1項(xiàng)集在自由組合后會(huì)產(chǎn)生數(shù)量更多長(zhǎng)度更長(zhǎng)的項(xiàng)集。為了從海量的數(shù)據(jù)集中快速的挖掘出頻繁項(xiàng)集,Agrawal等人發(fā)現(xiàn)了頻繁項(xiàng)集的所有非空子集也一定是頻繁的這一性質(zhì)[6],并根據(jù)該性質(zhì)提出了經(jīng)典的Apriori算法來挖掘頻繁項(xiàng)集。該算法主要由以下兩個(gè)部分組成:
(1)連接方法
為了找到長(zhǎng)度為l的頻繁項(xiàng)集的集合Rl,Apriori算法將長(zhǎng)度為l-1的頻繁項(xiàng)集與自身連接得到了Rl的超集。具體的連接方法是假定r1和r2是Rl-1中的兩個(gè)頻繁項(xiàng)集,ri[j]表示項(xiàng)集ri的第j個(gè)項(xiàng),且項(xiàng)是具備一定的順序的。如果r1和r2中有且僅有前k-2個(gè)項(xiàng)是相同的,那么r1和r2是可連接的,連接后的項(xiàng)集為{r1[1],r1[2],…,r1[l-1],r2[l-1]}。為了不在結(jié)果中出現(xiàn)重復(fù)的項(xiàng)集,連接還假定r1[l-1]必須小于r2[l-1]。
(2)剪枝方法
上述步驟完成后便能夠得到Rl的超集,即Rl中一定包含了所有長(zhǎng)度為l的頻繁項(xiàng)集,但其中也可能存在一些不頻繁的長(zhǎng)度為l的項(xiàng)集。在剪枝步驟中,逐個(gè)計(jì)算Rl中每個(gè)項(xiàng)集的支持度值,如果某個(gè)項(xiàng)集的支持度值大于用戶自定義的一個(gè)閾值m_support,那么該項(xiàng)集就被認(rèn)定為頻繁項(xiàng)集。該定義利用了頻繁項(xiàng)集的反單調(diào)性,即一個(gè)項(xiàng)集的任意非空子項(xiàng)集也必須是頻繁項(xiàng)集。
詳細(xì)的Aprori算法步驟如下:
(1)找到所有長(zhǎng)度為1的項(xiàng)集,并對(duì)使用他們使用連接方法生成2長(zhǎng)度項(xiàng)集的超集C2;
(2)計(jì)算C2中每個(gè)2長(zhǎng)度項(xiàng)集的支持度,將支持度值小于m_support閾值的項(xiàng)集刪掉,就得到了長(zhǎng)度為2的頻繁項(xiàng)集集合R2;
(3)對(duì)R2中的頻繁項(xiàng)集使用連接方法生成3長(zhǎng)度項(xiàng)集的超集C3;
(4)計(jì)算C3中每個(gè)3長(zhǎng)度項(xiàng)集的支持度,將支持度值小于m_support閾值的項(xiàng)集刪掉,就得到了長(zhǎng)度為3的頻繁項(xiàng)集集合R3;
(5)重復(fù)上述步驟得到長(zhǎng)度更長(zhǎng)的頻繁項(xiàng)集集合Rl,直到通過連接方法生成的Cl+1集合為空集。
Apriori算法的步驟比較簡(jiǎn)單,但其計(jì)算開銷較高,原因是每次計(jì)算Cl中頻繁項(xiàng)集的支持度就需要掃描一次數(shù)據(jù)集合。從降低計(jì)算開銷的角度出發(fā),研究人員提出了一些計(jì)算開銷更少的頻繁項(xiàng)集挖掘算法,例如FP-Growth算法[7],Eclat算法[8]等。
置換檢驗(yàn)20世紀(jì)30年代由Fisher提出,它是一種常用的顯著性檢驗(yàn)方法[9]。其根本思想是通過置換構(gòu)建零分布并從中計(jì)算出能夠度量統(tǒng)計(jì)顯著性的p-value值。根據(jù)p-value值大小能夠決定是否拒絕零假設(shè),從而保留了一些穩(wěn)定可靠的結(jié)果并剔除了一部分偶然性結(jié)果。
使用最為廣泛的置換檢驗(yàn)方法是標(biāo)準(zhǔn)置換檢驗(yàn)[10]。一般而言,其包括以下3個(gè)步驟:
(1)選擇一個(gè)與零假設(shè)匹配的量化值,該量化值能夠體現(xiàn)零假設(shè)與備擇假設(shè)的差異,并從初始集合中計(jì)算出挖掘結(jié)果的量化值。
(2)在零假設(shè)的基礎(chǔ)上任意置換初始集合的類型屬性值,置換后會(huì)生成一個(gè)隨機(jī)集合。對(duì)該隨機(jī)集合進(jìn)行頻繁項(xiàng)集挖掘并計(jì)算出這些項(xiàng)集的量化值。重復(fù)實(shí)施該過程多次后,用得到的所有量化值構(gòu)建零分布。
(3)將初始集合中的頻繁項(xiàng)集的量化值放置到上述零分布中,便可以計(jì)算出每個(gè)頻繁項(xiàng)集的p-value值。
在現(xiàn)實(shí)應(yīng)用中,通過執(zhí)行所有的置換得到零分布是不現(xiàn)實(shí)的。舉個(gè)例子,假設(shè)初始集合含有500條數(shù)據(jù),那么它可能產(chǎn)生的隨機(jī)集合數(shù)量為500的階乘,這是一個(gè)非常巨大數(shù)字。因此,構(gòu)建零分布時(shí),通常指定一個(gè)合理的置換次數(shù),常用的設(shè)置為500,1000或2000。
得到非隨機(jī)產(chǎn)生的頻繁項(xiàng)集后,本文通過如下步驟產(chǎn)生類關(guān)聯(lián)規(guī)則:
(1)將帶有類型屬性的頻繁項(xiàng)集進(jìn)行分離,以生成候選類關(guān)聯(lián)規(guī)則。
(2)計(jì)算這些類關(guān)聯(lián)規(guī)則的置信度,若其滿足用戶自定義的最小置信度閾值m_confidence,則其被認(rèn)定類關(guān)聯(lián)規(guī)則。
詳細(xì)的面向?qū)W生認(rèn)知數(shù)據(jù)的類關(guān)聯(lián)規(guī)則挖掘方法如圖1所示。
圖1 類關(guān)聯(lián)規(guī)則生成流程
具體的解釋如下:
(1)將問卷數(shù)據(jù)整理成<編號(hào),屬性1,屬性2, … , 屬性22 >的形式。
(2)使用Apriori算法挖掘初始集合中的初始頻繁項(xiàng)集,其中m_support設(shè)置為200。
(3)對(duì)初始集合進(jìn)行2000次置換得到隨機(jī)集合,挖掘這些隨機(jī)集合中的頻繁項(xiàng)集并計(jì)算他們的量化值。
(4)使用第三步中的所有量化值構(gòu)建零分布,并從該零分布中計(jì)算出頻繁項(xiàng)集的p-value值,如果p-value值小于0.05就認(rèn)為該頻繁項(xiàng)集不是隨機(jī)產(chǎn)生的,并將它保留下來。
(5)將每個(gè)保留下來的頻繁項(xiàng)集轉(zhuǎn)化為候選類關(guān)聯(lián)規(guī)則的形式,并計(jì)算其相應(yīng)的置信度值,如果大于0.7就認(rèn)為該類關(guān)聯(lián)規(guī)則是可信的,即m_confidence為0.7。
通過挖掘得到的類關(guān)聯(lián)規(guī)則可以看出:男生比女生更容易感到孤獨(dú);女生比男生認(rèn)為家長(zhǎng)對(duì)學(xué)生的影響更為重要;女生和男生一樣喜歡玩電腦游戲;成績(jī)好壞對(duì)學(xué)生戀愛沒有影響;男生和女生都認(rèn)為在戀愛中應(yīng)當(dāng)共同付出共同進(jìn)步;成績(jī)好壞不影響學(xué)生對(duì)未來的規(guī)劃,大部分學(xué)生明確規(guī)劃過自己的未來,并且朝著自己的規(guī)劃努力;高年級(jí)學(xué)生比低年級(jí)學(xué)生更喜歡運(yùn)動(dòng)。此外,結(jié)合社會(huì)群體對(duì)大學(xué)生的認(rèn)知,可以發(fā)現(xiàn)的區(qū)別是:大部分社會(huì)人士認(rèn)為成績(jī)好的學(xué)生就是優(yōu)秀的,但大部分大學(xué)生不贊成將學(xué)習(xí)作為人格優(yōu)秀的評(píng)判標(biāo)準(zhǔn);大部分社會(huì)人士認(rèn)為大學(xué)生活豐富多彩,大學(xué)生能從中交到許多志同道合的朋友,但實(shí)際上大部分大學(xué)生都認(rèn)為自己是孤獨(dú)的,雖然有許多朋友但很少有人能真正的了解自己。
由上述結(jié)果可以得出的結(jié)論是大眾給大學(xué)生群體的評(píng)價(jià)和大學(xué)生群體的自我認(rèn)知是存在誤差的。成績(jī)、三觀、專注程度等都不能單獨(dú)作為評(píng)判一個(gè)人的標(biāo)準(zhǔn),看似活潑的大學(xué)生群體實(shí)際其中大部分人都感到內(nèi)心孤獨(dú),這些結(jié)果在傳統(tǒng)的認(rèn)知中是不被大家所了解的,人們應(yīng)該改變對(duì)大學(xué)生的刻板印象,從細(xì)節(jié)和生活去關(guān)愛和了解每一個(gè)學(xué)生,以促進(jìn)大學(xué)生心理健康的發(fā)展。
本文針對(duì)學(xué)生認(rèn)知數(shù)據(jù)使用了數(shù)據(jù)挖掘領(lǐng)域中的類關(guān)聯(lián)挖掘技術(shù)挖掘其中的規(guī)則,為了增強(qiáng)結(jié)果的可信度,還引入了標(biāo)準(zhǔn)置換檢驗(yàn)來對(duì)報(bào)告的規(guī)則進(jìn)行統(tǒng)計(jì)顯著性檢驗(yàn)。最后,將保留的統(tǒng)計(jì)顯著的類關(guān)聯(lián)規(guī)則與領(lǐng)域知識(shí)相結(jié)合進(jìn)行了討論。在未來的工作中,不僅會(huì)專注于新的模式發(fā)現(xiàn)算法的設(shè)計(jì),還會(huì)探索更多的統(tǒng)計(jì)顯著性檢驗(yàn)方法。除此之外,后續(xù)研究也會(huì)繼續(xù)探索更多模式發(fā)現(xiàn)技術(shù)的應(yīng)用。