劉思皖
(寧夏財經職業技術學院,寧夏 銀川 750001)
學生成績不僅是反映學生學習效果的重要指標,也是高校改進教學質量的重要依據。傳統的學生成績管理模式主要是利用計算機技術對學生的成績進行排名,難以有效的挖掘出潛在的有用數據信息,而數據挖掘技術則可以利用關聯規則等元素,實現對學生成績的自動分析。因此本文詳細闡述基于大數據技術的學生成績分析系統。
數據挖掘技術是一種知識發現的技術,從大量的不確定、模糊的數據中尋找數據內在的特征和規律,從而發現潛在的有價值的信息,為決策者提供數據依據。一般而言,數據挖掘技術主要包括以下幾種:一是分類技術,即從特定的數據群中找出特定類別的描述方法,以此將其進行分類,構造分類模型。例如我們常用的數理統計方法、神經網絡模型等等。二是聚類技術,即將數據庫中的數據集劃分為若干子集,使得每個數據子集內部都具有較強的相關性。例如常見的K-Means、數據統計方法等。三是關聯分析,即用于發現數據集合中數據項之間的某種關聯和聯系,發現其內在的規律性[1]。
數據挖掘技術的使用流程主要包括以下幾個方面:(1)數據準備,它是數據挖掘的基礎,主要是將數據進行集中匯總,該環節主要是消除數據中的噪聲、消除數據間的不一致和模糊性。(2)數據發現,即選擇合適的算法和恰當的分析方法將影響數據挖掘的結果。(3)結果表達和解釋,它是數據挖掘的最后一個環節,也就是將挖掘的結果以可視化的方式進行展示。
構建基于數據挖掘技術的學生成績系統設計必須要清晰地了解系統設計的內在要求,結合實踐調查其內在需求主要表現為:一是傳統的學生成績統計模式存在時間長、效率低的問題。例如傳統的學生統計模式主要是利用各種表格方式將學生的成績進行排名,而沒有對學生成績的深層次問題進行準確分析。而利用數據挖掘技術則可以構建出學生成績分析系統,實現對學生成績的深層次分析。例如采取NET技術路線(ASP.NET)和Microsoft數據庫進行開發,從而設計支持多人協作開發的系統。二是數據挖掘技術可以實現對學生成績數據的自動化分析,挖掘出潛在有用信息。學生成績來源渠道不同,而且差異性比較突出,因此在數據采集時需要考慮到數據的變量問題,而對于數據變量的分析則必須要通過數據挖掘技術實現[2]。
基于數據挖掘的高校學生成績系統采用3層體系結構,結合上述學生成績模型,三層體系結構設計如圖1所示。3層體系結構將數據和業務邏輯以及系統實現分開,使得系統用戶只需專注數據分析結果而無須理會數據的操作過程,具體分為:用戶層、功能模塊層和基礎數據層。基礎數據層為最底層的結構,它將基礎數據存儲于數據倉庫中,對數據進行集中管理和處理,數據庫中存儲的數據包括學生成績及相關數據、需求字典、數據挖掘方法模型庫以及知識庫等,系統通過數據庫對數據進行讀取和操作。功能模塊層又稱為業務邏輯層,主要由數據挖掘流程管理、數據挖掘需求管理、數據挖掘模型方法管理、數據挖掘結果分析、系統配置管理、數據源配置等功能模塊構成。用戶層為頂層結構,是系統的展示層,系統用戶主要包括學校領導、系部主任、系部教師、在校學生以及系統管理員等。而系部主任和系部教師則是系統的主要用戶,他們負責學生成績數據挖掘并將結果展示給學校領導或相關用戶。用戶角色和用戶權限通過系統配置管理實現。

圖1 數據挖掘學生成績系統結構
按照功能需求分析結果,系統劃分為學生信息管理模塊、學生成績管理模塊、數據挖掘結果分析模塊、教師課程信息管理模塊、用戶權限管理模塊和系統配置管理模塊等6個模塊。
數據庫是一個系統所有數據的集合,這些數據按特定的組織方式存儲在一起,通過通用的存取方式合理而高效地完成系統所需要的各類功能。系統信息表主要由系統所有基本編碼表組成,這些系統編碼表是系統賴以運行的基本;教務信息表包含教學計劃表、課程表、班級表、教學資源表等;人員信息表包括教師信息表、學生信息表和教職工信息表。
3.4.1 數據挖掘過程
數據挖掘過程是對相關數據進行預處理的過程,主要包括:(1)明確數據挖掘對象與目標。數據挖掘技術使用的關鍵就是要確定具體的挖掘數據,基于本文設計目標,數據挖掘的對象主要是學生的成績,因此需要相關人員將涉及學生成績的所有數據納入到數據庫系統中,為下一步的數據提取、清理工作打下基礎。(2)數據預處理。數據預處理就是去除數據中的無關信息,即去除與學生成績無關或者無效成績的數據。(3)對數據進行挖掘。對數據庫中的數據進行深入分析、挖掘,得出相應的分析結果,為用戶提供有用信息。
3.4.2 學生成績數據采集
為了更好地對學生成績進行分析,本文以我院計算機專業學生4個學期的所有課程成績數據作為研究對象,并結合學生的學習興趣,對這些數據進行清洗、轉換等,通過關聯規則的算法挖掘出影響學生成績的關鍵因素。依據學生的培養方案,學生在學習“必修”“限選”“任選”類課程時必須遵照培養方案中的學分下限要求。由于“限選”和“必修”類的課程囊括了在校學生的學科內部專業課程和基礎課程兩個方面,同時高校學生的專業課程成績與學生最終的成績聯系最緊密,即:“限選”和“必修”類課程的重要程度比“任選”類課程高,因此,借助對學生“必修”和“限選”兩類課程的成績數據挖掘分析,忽略“任選”類課程。高校里不同專業開設的課程每學期都小幅度調整、更新,但是“必修”課程和“限選”課程變動情況卻非常少,因此,數據庫當中這兩種類型的成績出現率也是非常高的,數據存儲的時間跨度最大。綜合上述,把“限選”和“必修”類課程的成績作為研究對象,采集數據預期分析效果較為理想,可以有效揭示學生考試成績所蘊含的關聯[3]。
3.4.3 數據預處理
考慮到學生成績的差異性特點,本次設計將學生的每門成績按照不合格率、合格率、中等率以及優秀率的等級進行劃分,對原始數據進行離散化處理,對學生成績當中的較高成績與較低成績進行深入分析。一方面分析學生考試成績之間所隱含的影響因素,另一方面分析不同課程之間的關聯。數據挖掘過程中應用的數據采集自高校的教學管理的成績數據倉庫:將數據存儲在表格內的可以直接導出到CSV等數據集去,預處理階段處理成績缺失值等問題。
3.4.4 關聯規則挖掘實施
關聯規則的挖掘實施是數據挖掘算法實施的關鍵,本文選擇的是關聯規則挖掘Apriori算法,因此根據系統設計的原則要求,設置的最小支持度為0.2,最小置信度是0.5。首先需要建立健全Grade數據庫,據庫中的Course表是用來存儲課程信息,Special畸Inf.o用來存儲學籍信息,而且ade表是用來存儲學生的考試成績信息的;其次對數據庫中的所有信息進行分析,并且對成績超過80分的進行總結,同時將課程的支持度和課程名稱的計數信息存放到頻繁1項集的數據表格Frequentl中,Frequentl有兩個關鍵的字段nem和SupCount。再次得到頻繁項集之后,就可以計算出相應的候選項集生成相應的頻繁項集。最后算出最終的頻繁項目集中的非空子集所包含的置信度和支持度,并且拿它們與最小支持度和最小置信度進行比較,比較后刪除那些小于最小置信度的記錄,并且最終會產生關聯規則。
為檢驗系統的各項性能在系統規定允許的軟硬件環境下(包括服務器、客戶機的各類機器指標如CPU主頻、機器結構、硬盤速度、網絡帶寬、實際傳輸速率等)是否符合預期給定的指標,需要進行性能測試,主要測試軟件在特定環境下的處理速度。而環境要盡量考慮實際運行狀態下的環境,根據實際的測試結果分析可知,未發現本系統中存在嚴重等級較高的異常或錯誤,從整體上來講通過了本次測試。