摘 要:數(shù)據(jù)生成和收集技術(shù)的進(jìn)步促使商業(yè)和科研領(lǐng)域產(chǎn)生了海量數(shù)據(jù)。傳統(tǒng)數(shù)據(jù)分析技術(shù)在應(yīng)對這些新型數(shù)據(jù)集提出的挑戰(zhàn)時(shí)存在種種局限性,數(shù)據(jù)挖掘技術(shù)迎刃而解了這些問題。本文應(yīng)用數(shù)據(jù)挖掘中關(guān)聯(lián)規(guī)則的Apriori算法來進(jìn)行成績的關(guān)聯(lián)分析。文中通過舉例說明了該方法在分析學(xué)生成績數(shù)據(jù)中的應(yīng)用,實(shí)驗(yàn)結(jié)果表明,關(guān)聯(lián)分析方法比傳統(tǒng)的成績統(tǒng)計(jì)方法更合理、更科學(xué),蘊(yùn)含更多有用的信息。
關(guān)鍵詞:數(shù)據(jù)挖掘;關(guān)聯(lián)分析;Apriori算法;課程設(shè)置研究
中圖分類號:TP311.52
數(shù)據(jù)挖掘這種技術(shù)將傳統(tǒng)的數(shù)據(jù)分析方法與處理大量數(shù)據(jù)的復(fù)雜算法相結(jié)合。目前,在電信、銀行、百貨公司、超市、保險(xiǎn)、信用卡、電子商務(wù)、稅務(wù)部門、警察機(jī)關(guān)、醫(yī)學(xué)等領(lǐng)域均有應(yīng)用?,F(xiàn)在的高校也有海量的學(xué)生相關(guān)數(shù)據(jù),但這些數(shù)據(jù)幾乎沒有被有效利用,本文應(yīng)用關(guān)聯(lián)分析方法,通過對學(xué)生的成績進(jìn)行統(tǒng)計(jì)和分析,從中可以獲得課程設(shè)置及教學(xué)改革的理論依據(jù)。
1 數(shù)據(jù)挖掘的概念和相關(guān)技術(shù)
數(shù)據(jù)挖掘是在海量的數(shù)據(jù)中,發(fā)現(xiàn)數(shù)據(jù)之間隱含的有用的信息的過程。數(shù)據(jù)挖掘技術(shù)除了用來在大型數(shù)據(jù)庫中發(fā)現(xiàn)先前未知的有用信息之外,數(shù)據(jù)挖掘還可以預(yù)測未來,比如,預(yù)測一位顧客在超市中的購買行為。
不是所有的信息分析都叫做數(shù)據(jù)挖掘。比如,在數(shù)據(jù)庫中查找某條信息,或利用因特網(wǎng)的搜索引擎查找某個(gè)Web頁面,這只是信息檢索,而不是數(shù)據(jù)挖掘。
數(shù)據(jù)挖掘的技術(shù)主要有:分類、關(guān)聯(lián)分析、聚類、人工神經(jīng)網(wǎng)絡(luò)和粗糙集等。下面主要對在信息管理與信息系統(tǒng)專業(yè)課程設(shè)置研究中適用的幾種技術(shù)作一些介紹。
1.1 關(guān)聯(lián)分析
關(guān)聯(lián)分析是用于發(fā)現(xiàn)隱藏在大型數(shù)據(jù)集中的有意義的聯(lián)系的方法。這些聯(lián)系可以用關(guān)聯(lián)規(guī)則或頻繁項(xiàng)集的形式表示。比如:{尿布}→{啤酒},這個(gè)規(guī)則顯示了尿布和啤酒的銷售之間存在著很強(qiáng)的聯(lián)系,因?yàn)樵S多購買啤酒的顧客也買了尿布。關(guān)聯(lián)分析還應(yīng)用于其他領(lǐng)域,如生物信息學(xué)、醫(yī)療診斷、網(wǎng)頁挖掘和科學(xué)數(shù)據(jù)分析等。
1.2 分類與預(yù)測
分類的任務(wù)是確定對象屬于哪個(gè)預(yù)定義的目標(biāo)類。這是一個(gè)普遍存在的問題,有許多不同的應(yīng)用。比如:通過電子郵件的標(biāo)題和內(nèi)容對垃圾郵件進(jìn)行屏蔽,根據(jù)核磁共振掃描的結(jié)果區(qū)分是惡性腫瘤還是良性腫瘤等。預(yù)測是利用分析所獲得的模型對未知類型的數(shù)據(jù)對象進(jìn)行類別的預(yù)測。
1.3 聚類
聚類分析只是根據(jù)在數(shù)據(jù)中發(fā)現(xiàn)的描述對象及其關(guān)系的信息,并將這些數(shù)據(jù)對象分組。目的是,組內(nèi)的這些對象是相似的,而不同組中的對象是不相似的。組內(nèi)的相似性越大,組間差別越大,聚類就越好。
2 數(shù)據(jù)挖掘在課程設(shè)置研究中的應(yīng)用
學(xué)校的教務(wù)處存放著學(xué)生每學(xué)期的課程成績,學(xué)生處存放著所有在校學(xué)生的家庭基本信息,系部存放著每學(xué)期學(xué)生對所學(xué)課程的評價(jià)及打分信息,由于每學(xué)期的滾動,就產(chǎn)生了大量學(xué)生相關(guān)的數(shù)據(jù),利用這些數(shù)據(jù)并結(jié)合數(shù)據(jù)挖掘的技術(shù)可得到這些數(shù)據(jù)隱含的有用的關(guān)系,比如課程模型。
一門課程的學(xué)習(xí),首先是先要完成它的先修課程,先修課程的學(xué)時(shí)長短、教授深度等,都會對這門課程的學(xué)習(xí)有影響。應(yīng)用數(shù)據(jù)挖掘中的關(guān)聯(lián)分析可找出課程之間的關(guān)聯(lián)關(guān)系,使課程的調(diào)整有理論依據(jù)且更科學(xué)。
學(xué)生的成績與其家庭背景之間也有著關(guān)聯(lián),學(xué)校的數(shù)據(jù)庫中含有學(xué)生基本情況的歷史數(shù)據(jù),我們想知道學(xué)生的成績與其家庭背景的關(guān)系。學(xué)生成績是否與課余打工、單親家庭、未加入輔導(dǎo)計(jì)劃、學(xué)習(xí)障礙、新近轉(zhuǎn)學(xué)、經(jīng)常缺席等因素有關(guān)。
3 學(xué)生成績的數(shù)據(jù)挖掘過程
3.1 確定挖掘任務(wù)
學(xué)校的教務(wù)系統(tǒng)中存放著大量學(xué)生成績數(shù)據(jù),而只是對這些成績做一些求總分、加權(quán)平均和排名等簡單的操作。這些數(shù)據(jù)表面上顯示的是學(xué)生學(xué)習(xí)的好壞和興趣,實(shí)際上隱藏著課程設(shè)置及教學(xué)方法改進(jìn)的信息。
3.2 準(zhǔn)備數(shù)據(jù)
學(xué)校的各個(gè)部門都有大量的學(xué)生數(shù)據(jù),每個(gè)學(xué)期都會產(chǎn)生新的數(shù)據(jù),我們從這些海量數(shù)據(jù)中收集學(xué)生的成績及學(xué)生的信息等數(shù)據(jù)作為要分析的數(shù)據(jù)。
3.3 算法設(shè)計(jì)
數(shù)據(jù)挖掘是一項(xiàng)從大量的記錄數(shù)據(jù)當(dāng)中找出有價(jià)值的、人們感興趣的信息,這些信息是隱含的、事先并不知道的有用信息,發(fā)現(xiàn)的知識一般可表示為概念(Concepts)、規(guī)則(Rules)、規(guī)律(Regular ides)、模式(Patterns)等形式。關(guān)聯(lián)規(guī)則是本文中分析成績的主要方法之一,它反映的是事物與事物之間相互關(guān)聯(lián)性和依存性。如果兩個(gè)或多個(gè)事物之間存關(guān)聯(lián)關(guān)系,可通過其中的一個(gè)事物預(yù)測出另一個(gè)事物。在這里我們用Apriori算法,首先產(chǎn)生頻繁1-項(xiàng)集L1,然后是頻繁2-項(xiàng)集L2,直到有某個(gè)r值使得Lr為空,算法停止。在第k次循環(huán)中,過程先產(chǎn)生候選k-項(xiàng)集的集合Ck,Ck中的每一個(gè)項(xiàng)集是對兩個(gè)只有一個(gè)項(xiàng)不同的屬于Lk-1的頻繁集做一個(gè)連接來產(chǎn)生的。Ck中的項(xiàng)集是用來產(chǎn)生頻繁集的候選集,最后的頻繁集Lk必須是Ck的一個(gè)子集。一個(gè)項(xiàng)集是頻繁集當(dāng)且僅當(dāng)它的所有子集都是頻繁集。如果Ck中某個(gè)候選項(xiàng)集有一個(gè)(k-1)-子集不屬于Lk-1,則這個(gè)項(xiàng)集可以被修剪掉不再被考慮。算法如下:
L1={頻繁1項(xiàng)集};
for(k=2;Lk-1?1;k++) do begin
Ck=apriori_gen(Lk-1); //新的潛在頻繁項(xiàng)集
for all transactions t?D do begin
Ct=subset(Ck,t); //t中包含的潛在頻繁項(xiàng)集
for all candidates c?Ct do
c.count++;
end;
Lk={c?Ck|c.count3minsup}
end;
Answer=UKLK
3.4 數(shù)據(jù)挖掘
數(shù)據(jù)是某班學(xué)生的大學(xué)四年的學(xué)習(xí)成績,學(xué)生人數(shù)為33人。表1顯示了該班部分學(xué)生第一學(xué)年的學(xué)習(xí)成績,共有32門課程,這些課程可以分為2類:專業(yè)課,其中包括高等數(shù)學(xué)(簡稱“高數(shù)”)、線性代數(shù)、概率論與數(shù)理統(tǒng)計(jì)(簡稱“概率”)、數(shù)據(jù)庫技術(shù)、計(jì)算機(jī)原理、C++程序設(shè)計(jì)(簡稱“C++”);公共課包括英語、體育。有些課程是連續(xù)上2-4個(gè)學(xué)期的,如英語要上4個(gè)學(xué)期,高等數(shù)學(xué)要上2個(gè)學(xué)期,對于同一門課程不同學(xué)期的成績,分別在課程名后用1-4表示相應(yīng)學(xué)期。
表1 某班學(xué)生部分成績
3.5 結(jié)果分析
高等數(shù)學(xué)成績好的學(xué)生,C++也學(xué)得好;數(shù)據(jù)可技術(shù)學(xué)得好的學(xué)生,C++和計(jì)算機(jī)原理學(xué)得也好;英語學(xué)得好的學(xué)生,C++,計(jì)算機(jī)原理和數(shù)據(jù)庫學(xué)得也好;計(jì)算機(jī)原理對其它專業(yè)課程沒有影響;網(wǎng)頁設(shè)計(jì)這門課學(xué)得好的學(xué)生,ASP.NET學(xué)得也好。針對信息管理與信息系統(tǒng)專業(yè)現(xiàn)有的課程設(shè)置,可以給出以下幾點(diǎn)建議:C語言每周設(shè)為6學(xué)時(shí),加大總的學(xué)時(shí)及周學(xué)時(shí),加強(qiáng)實(shí)踐教學(xué);計(jì)算機(jī)組成原理與其他專業(yè)課的聯(lián)系不大,可以減少學(xué)時(shí);加強(qiáng)網(wǎng)頁設(shè)計(jì)這門課程的學(xué)習(xí),這門課與ASP.NET的聯(lián)系很緊密;高等數(shù)學(xué)和英語這兩門基礎(chǔ)課應(yīng)加大學(xué)時(shí),尤其是高等數(shù)學(xué),它們對后續(xù)的編程語言的學(xué)習(xí)很重要;VB這門課程可以去掉,編程課程從C語言入門就可以,C語言和C++這兩門課可以合在一起來上,學(xué)完C之后可馬上開C++而不需要分在兩個(gè)學(xué)期來上。
4 結(jié)束語
利用數(shù)據(jù)挖掘工具對學(xué)生相關(guān)數(shù)據(jù)進(jìn)行分析,可以得到一些隱含的信息,而這些信息是要對挖掘的結(jié)果進(jìn)行深入的分析才能得到的,從中找出最合理的建議,給決策者提供參考依據(jù)。
參考文獻(xiàn):
[1]劉曉慶.淺析數(shù)據(jù)挖掘的研究現(xiàn)狀及其應(yīng)用[J].電腦知識與技術(shù),2006.
[2]常桐善.數(shù)據(jù)挖掘技術(shù)在美國院校研究中的應(yīng)用[J].復(fù)旦教育論壇,2009(02):74.
[3]陳麗.基于數(shù)據(jù)挖掘建立動態(tài)人事管理決策系統(tǒng)[J].計(jì)算機(jī)工程與應(yīng)用,2001(20).
[4]陳卓明.數(shù)據(jù)挖掘在國內(nèi)外的研究和發(fā)展現(xiàn)狀[M].青年文學(xué)家,2009(16).
[5]劉美玲.數(shù)據(jù)挖掘技術(shù)在高校教學(xué)與管理中的應(yīng)用[J].計(jì)算機(jī)工程與設(shè)計(jì),2010(31).
作者簡介:柳原(1981-),女,山西人,教師,中級,學(xué)士學(xué)位,研究方向:數(shù)據(jù)挖掘。
作者單位:包頭醫(yī)學(xué)院 計(jì)算機(jī)科學(xué)與技術(shù)系,內(nèi)蒙古包頭 014040;內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古包頭 014010