狄曉嬌

摘要:許多的企業在實際生產和營銷中會產生并積累大量的數據,怎么才能夠有效地利用這些數據成為企業急需解決的問題。關聯分析可以用于分析“哪些物品經常被同時購買?”這樣一類的問題,書中將這種問題稱為“購物籃實物”(market basket transaction)。并且列舉了一些關聯分析的例子,例如:通過查看哪些商品經常在一起購買,比如:買牛奶的顧客同時也有可能同時購買面包。通過分析這些數據,找出其中的關聯,可以幫助商家了解用戶的購買行為。這種從海量數據中抽取的有用信息,可以幫助商家用于商品定價、商場的物品的擺放、市場促銷、存貨等管理等環節。同時這種數據分析方式也可以應用在網絡數據分析中,例如在社交媒體中發現一些共同出現的詞。或者從新聞網站點擊流中挖掘當前新聞流行的趨勢,挖掘出哪些新聞被用戶廣泛瀏覽或者被搜索引擎廣泛推薦等等。在我們教學領域可以通過關聯規則的分析,找到考試通過與其他屬性的聯系。
關鍵詞:數據挖掘;關聯分析;算法
中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)34-0246-02
2 Apriori算法
2.1 Apriori算法基本概念
Apriori算法是Agrawal 和R.Srikant于1994年提出的,為布爾關聯規則挖掘頻繁項集的原創性算法[AS94b]。
前面提到,關聯分析的目標包括兩項:發現頻繁項集和發現關聯規則。一般的順序是先找到頻繁項集,后找到關聯規則。因為我們在計算關聯規則的可信度時需要用到頻繁項集的支持度。由于對于項集支持度的計算需要大量的計算,因為無論計算哪個項集的支持度都需要算法遍歷每一條記錄來檢查并記錄,這樣的計算量是一個天文數字,尤其是對于大量數據的計算,明顯是不現實的。所以為了提高對頻繁項集產生的效率,一種稱為先驗性質(Apriori Property)的主要性質被發現并且應用于壓縮搜索空間。
先驗性質就是頻繁項集的所有非空子集也一定是頻繁的。但是,在實踐中我們更常用的是它的逆否命題,即如果一個項集是非頻繁的,那么它的所有超集也是非頻繁的。
Apriori算法的兩個輸入參數分別是最小支持度和數據集。該算法首先生成所有單個元素的項集列表。然后掃描數據集, 以查看哪些項目集滿足最低支持要求, 而那些不滿足最低支持的項將被刪除。然后, 將余下的集組合起來, 生成包含兩個元素的項集。接下來, 重新掃描事務記錄, 刪除不滿足最低支持的項。此過程將重復, 直到刪除所有項目集。
具體算法流程是:
⑴ 掃描整個數據集,得到所有出現過的數據,作為候選頻繁1項集。k=1,頻繁0項集為空集。
⑵ 挖掘頻繁k項集
a)掃描數據計算候選頻繁k項集的支持度
b)去除候選頻繁k項,集中支持度低于設定最小支持度閾值的數據集,得到頻繁k項集。如果得到的頻繁k項集為空,則直接返回頻繁k-1項集的集合作為算法結果,算法結束。如果得到的頻繁k項集只有一項,則直接返回頻繁k項集的集合作為算法結果,算法結束。
c)基于頻繁k項集,連接生成候選頻繁k+1項集。
⑶ 令k=k+1,轉入步驟2。
從算法的步驟可以看出,Aprior算法每輪迭代都要掃描數據集,因此在數據集很大,數據種類很多的時候,算法效率很低。
2.2 Apriori算法總結
Apriori算法是一個非常經典的頻繁項集的挖掘算法,很多算法都是基于Apriori算法而產生的,包括FP-Tree,GSP, CBA等。這些算法利用了Apriori算法的思想,但是對算法做了改進,數據挖掘效率更好一些,因此現在一般很少直接用Apriori算法來挖掘數據了,但是理解Apriori算法是理解其他Apriori類算法的前提,同時算法本身也不復雜,因此研究后使用也十分廣泛。[24]
3 Apriori算法在學生成績分析中的應用
3.1 確定關聯規則挖掘對象
運用Apriori算法分析《計算機應用基礎》與其后續課程之間存在的聯系,本文研究的對象依舊是我校2013至2015級學生的成績。選取《計算機基礎》及后續開設的《Dreamweaver》、《Flash》、《fireworks》等課程的成績,并且將各科成績合并為一個用于關聯分析的成績數據庫。
3.2 數據的預處理
由于在上一章的數據預處理過程中已經進行了清理,降維等操作,所以本次省略相關步驟。所以本文研究課題原始樣本數據為2397個,經過預處理可以進行數據挖掘的數據樣本數為2253個。本次進行數據挖掘的數據樣本有效率為94%。
3.3 數據的離散化
在進行關聯分析數據挖掘時,為了將數據轉換成適合關聯規則分析的數據格式,所以需要對數據進行離散化。將《計算機應用基礎》成績,《fireworks》成績劃分為“Super”“Hi”, “Mid”, “Low”“No”幾個等級,將分數高于90分的數值用“Super”來替換,將分數高于80分的數值用“Hi”來替換,將成績在79分到70分的分數值用“Mid”替換,將成績在69分到60分的分數值用“Low”替換,將成績小于60分的分值用“No”替換。這樣經過離散化的數據如圖1所示:
3.4 使用SPSS Modeler的成績關聯分析
SPSS Modeler 數據挖掘平臺對已經離散化的數據進行分析,使用Apriori算法將最小支持度閾值設為10%,最小置信度閾值設定50%,具體設置在圖2。
經過運行軟件得到規則如圖3。
根據以上得到的規則我們可以看出,Apriori 算法生成的規則L1 有1個,L2規則由4個,L3規則有3個。在挖掘過程中得到的規則最小支持度為30.368%,最大支持度為96.014%,最小置信度為23.673%,最大置信度為34.133% 最高規則支持度為32.772% 。選擇有用的規則可以得到如下結論:
基礎成績與以后的學習相關課程成績的相關性很高,比如基礎成績好的同學,其他科目有可能得到較高的分數,而基礎成績一般的同學今后學習相關課程的成績也一般。
基礎成績好的同學有50%以上的可能在Fireworks也有高的成績,并且置信度也有43.6%。
根據以上的結果,我們可以分析出基礎課學習成績好或中等的同學中,其他學期在計算機相關課程中也有很大的可能得到較好的成績。因此可以看出《計算機應用基礎》的好壞對與后續課程的學習起到了重要的作用。
因此在日常的學習過程中,要提高對《計算機應用基礎》的學習的重視,教師在教學中也要對《計算機應用基礎》的教學方法和教學手段更加重視,努力在課堂授課中提高學生對于該門課程的學習興趣,從而激發起學生學習的熱情,為今后的學習打好基礎,從而進一步提高。
4 小結
信息化技術的高速發展,對于高校教師教學既是機遇又是一項挑戰,因此如何更有效的利用現有資源,利用現代化科技,對現有的數據進行有效的挖掘,通過挖掘找到授課過程中影響學生的學習因素,以更好地讓科技服務于教學,對于教師而言是一個十分必要而且是一個長期探索的過程。
【通聯編輯:代影】