沈偉明
[摘要]學校里每年都存放著大量的學生信息,這些信息的大部分是用于今后查對,如果這些成千LYY的信息只用于核對和備案,可以說這是一種信息浪費。如何充分地利用這些數據,使其潛在的使用價值得到充分的挖掘和利用,為學校決策者提供決策依據,科學指導教學。本文利用現有學生成績數據庫,應用改進的數據挖掘Apfiofi算法進行了情況分類,分析《c語言程序設計》課程成績優秀直接影響《數據結構》課程成績優秀.學校可以調整教學內容和改進教學方法以適應學生的學習和教學質量的提高。
[關鍵詞]數據挖掘;關聯規則;Apfiofi算法
一、數據挖掘概述
1.1數據挖掘
數據挖掘是近幾年來新興的一種對數據處理的技術,又稱為數據庫中的知識發現,就是從大量的、不完全、有噪聲的、模糊的、隨機的數據中,提取隱含在其中的,人們事先不知道的,但又是潛在有用的信息和知識(模型或規則)的過程,是一類深層次的數據分析方法。數據挖掘的第一步就是將手中的信息進行預處理操作后存放在數據倉庫中。數據預處理包括數據清理與數據集成,數據清理的內容有消除噪聲和不一致數據,對于本文研究的學生成績數據庫,因為在學生成績輸入過程中可能出現輸入失誤。數據集成就是將多種數據源統一為一種存儲方式,在研究的學生成績信息大部分是以電子表格(EXCEL)和WPs文件格式存儲的,除此之外還有文本格式(TXT)與其它格式,要研究多年來所有學生的信息,必須把它們放在一個統一數據庫中以便數據挖掘系統進行挖掘。數據挖掘在最近幾年里已被數據庫界廣泛研究,其中關聯規則的挖掘是一個重要的方面.
1.2關聯規則
關聯規則挖掘是在大量數據中項集之間發現有趣的關聯或相關聯系,是一種簡單卻很實用的分析規則。滿足x的數據庫元組也很可能會滿足Y。關聯規則挖掘問題可以劃分成兩個子問題:發現頻繁項目集;生成關聯規則。
1.3Apfiofi算法
首先設計一個保存有所有項集的類,它的主要屬性有PID:PID項集;Sup_count:PID項集的支持計數,還包含一個主要方法,目的是判斷PID對象是否是頻繁項集。然后,我們要找到頻繁集項,根據事務表的存儲方式,對表進行簡單l的SQL查詢就可得到支持計數,從而判斷是否是頻繁一項集。找到頻繁一項集就可以通過頻繁k項集找了頻繁k+1項集,主要過程為:構造出頻繁k項集的Lu和Lv,對其進行連接步計算,如果可以連接,則生成候選的k+1項集;對通過連接步生成的候選k+1項集通過頻繁k項集進行MN,縮小候選k+1項集;統計選k+1項集的支持度,通過對事物集進行SQL統計,計算出k+1項集的支持技術,若滿足最小支持度,則標記為頻繁項集。最后,對所有頻繁項集L找出其所有非空真子集Lu,計算Lu和L-Lu的置信度,這個即是頻繁項集又滿足最低之心度的項集即為一條關聯規則。至此,Apfiofi算法在程序中基本實現,運行程序,測試器有效性和效率,完成關聯規則并給出結果。
二、方案實施實例
1、挖掘對象及目標:本例以我校2009級計算機應用技術專業畢業班的學生成績為原始數據,采用關聯規則和Apfiofi算法對該數據進行分析,大致說明數據挖掘在高校成績管理中的應用。
2、數據采集:成績數據庫中包括了學生的平時作業成績及課程的考試成績。這個數據庫由教師在教學過程中產生。
3、模型的選定:分析學生各科目成績的之間的影響關系,例如:某學生《c語言程序設計》優秀與《數據結構》優秀的關系。我們采用關聯規則中最著名的Apfiofi算法。
4、集成數據:將采集到的多個數據庫的數據進行合并操作。
5、清理數據:在統計學生成績源表數據時,會存在一些屬性缺少屬性值的情況,對于這些缺少屬性值的屬性,采用清理技術來填補空缺的數據值.本文采用忽略元祖的方法把沒有參加考試學生及成績數據不完整的記錄n除掉.最后得到有效記錄數據。
6、轉換數據:使用統一的格式表示成績數據,便于數據挖掘、本文挖掘的是軟件專業學生備門課程之間的優秀關系,使用關聯規則挖掘成績數據需要邏輯性數據,所以大于90分成績定義屬性值為“1”。
三、Apriori算法數據挖掘
1)建立事務數據表,根據挖掘要求,只保留優秀成績,沒有獲得優秀的學生記錄做n除處理。2)頻繁項集的數據表.表中用來存放項目名稱xl,X2及包含此項目的記錄數。3)將數據表中支持度計數小于最小支持度的記錄n除,得到最終頻繁l項集.4)求后繼各頻繁項目集.5)把最終頻繁項集中小于最小置信度。值的記錄n除,從而產生規則信息,存人數據表1。
計算最后的置信度,把小于最小置信度0值的記錄n除,得出最終關聯規則,存入數據表2
總之,隨著數據分析技術的發展,數據挖掘在學校教學管理方面有著巨大的應用潛力,高校的教育管理者應該充分認識到信息的重要性,提高信息的利用效率。endprint