孫永香 于群 朱紅梅
(山東農業大學 信息科學與工程學院,山東 泰安 271018)
在信息時代,數據就像人類的血液深入到了我們的生產、生活的方方面面。數據挖掘就是在這些海量數據中發現潛在的、有價值的規律和模式,為人們的決策和管理提供支撐依據[1]。近幾年,隨著各高校校園一卡通的普及和智慧校園建設的不斷深入,學校積累了大量的學生數據,涵蓋了課業成績、評獎評優、生活軌跡、校園消費、圖書借閱和畢業去向等,為運用大數據技術分析高校學生的學習生活規律提供了數據基礎[2-3]。綜合利用互聯網、大數據和人工智能技術開展對教育教學活動和學生行為數據的收集、分析和應用,為推動學生個性化學習、改革教學方法、優化學生評價機制、健全心理健康輔導、改善后勤服務等學校管理工作提供科學支持,是創新高校教育教學管理工作的主要手段[4]。
根據高校學生行為數據的特征和要研究的問題要求,設計的數據挖掘流程如圖1所示,主要包括學生行為數據采集、數據預處理、行為數據挖掘、模式評估和知識可視化表達5個階段[5]。

圖1 高校學生行為數據挖掘流程圖
(1)學生行為數據采集。學生行為包括學習、消費、運動、社交、上網和借閱等,可以通過與之相關的校園一卡通的日志數據、教務管理系統、學工管理系統、辦公自動化系統(OA)等獲取學生行為數據。
(2)數據預處理。數據預處理包括數據清洗、數據集成、數據轉換和數據規約等過程。通過數據預處理將不同來源的原始數據進行加工,去除與研究目標不相關的數據,減少數據冗余,確保數據格式的規范性和一致性,為后續的數據挖掘提供基礎保障[6]。
(3)行為數據挖掘。基于學生的學業預警、消費能力預測、情感趨勢等研究目標,選用合理的數據挖掘算法,以建構模型的方式對數據進行知識提取,從現有的數據中發現潛在的規律和趨勢。數據挖掘的算法有很多,主要有聚類分析、關聯規則分析、分類與回歸算法等[7-8]。
(4)模式評估。從大量數據中挖掘出來的反映學生行為的知識、模式或規律,并不一定與學生實際情況相一致,需要進行模式評估,去除冗余或無關的模式,從而提取有價值、可理解的數據模式。
(5)知識可視化表達。挖掘出的知識、模式或規律往往是一系列數據的展示,需要借助可視化技術,以直觀、清晰的形式展示給用戶,方便用戶理解。
基于數據挖掘的高校學生行為分析平臺的總體架構由底層到頂層可以分為:數據獲取層、數據處理與存儲層、數據分析層、數據服務層和數據應用層,如圖2所示。

圖2 平臺架構圖
(1)數據獲取層。數據獲取層依托一卡通系統、教務系統、圖書借閱系統和學工系統等校內一系列的管理系統或平臺,收集學生的日常學習、生活等實時數據,為后期的數據分析和挖掘提供數據支撐。
(2)數據處理與存儲層。根據研究目標,將獲取的不同數據源的學生行為數據進行清洗、集成、轉換和規約,然后按照約定邏輯將其存儲在數據倉庫中,方便借助數據算法分析學生行為。同時,建立能夠對數據挖掘進行支持的模型庫[9]。
(3)數據分析層。數據分析層的功能是根據用戶的請求和數據預處理得到的數據結構,選擇合適的數據挖掘算法,探尋、分析數據間的內部關系,并構建相應的預測模型。
(4)數據服務層。數據服務層主要為學校各部門、各類用戶使用數據挖掘的結果提供接口服務,服務的內容包括可視化表達、預測預警、信息智能推送和各類行為主題庫。
(5)數據應用層。學校各部門通過網頁和智慧校園APP使用數據服務層提供的各類服務,包括學業預警、心理健康預測、異常行為分析、貧困生篩選、就業精準指導、校園輿情態勢感知等,為學校管理的精準化提供科學支撐。
高校學生行為數據分析平臺是在高校學生行為數據基礎上,實現對學生學習、消費、軌跡、社交等行為的分析,推測學生的日常生活規律、學習習慣、消費能力和心理狀態等。其主要功能包括功能數據管理、行為分析、預測預警、信息發布、平臺管理和用戶登錄,如圖3所示。

圖3 平臺模塊結構圖
(1)數據管理。數據管理主要涵蓋數據采集、處理、分析和監控四個方面。首先對采集到的原始數據進行加工處理,存儲到數據庫中,然后對數據進行聚類、關聯、回歸等分析,挖掘出符合實際的學生行為特征屬性,并將結果存入平臺數據庫中。數據監控是對采集實時數據的接口進行監控,當出現異常情況時,要及時通知管理人員解決。
(2)行為分析。學生行為分析主要對學生的學習、消費、借閱、生活、社交等各類行為進行分析。基于學生的學習成績、門禁數據、校園軌跡、圖書借閱、消費數據等,進行行為偏好、行為屬性和行為序列的多維分析,勾畫出學生的個人特征、學習現狀、生活規律、消費能力、興趣愛好和交友情況[10]。
(3)預測預警。預測預警是根據平臺數據挖掘分析結果,判斷學生是否存在行為異常,預測一些潛在的問題,并給出相應預警、警告信息,提醒學校相關人員及時進行干預和處理。比如,根據消費水平推測貧困生,根據學習行為給出掛科預警。在進行預測預警時,根據不同的目標,選擇合適的算法模型。例如,采用XGboost回歸預測模型進行學業預警,采用K-means算法進行貧困生篩選,采用Apriori算法進行心理預警。
(4)信息發布。信息發布是對平臺發布的信息進行管理。根據信息的具體內容設置不同的用戶權限,包括學校、學院、教師和學生四類用戶權限,信息發布之前均需要審核。
(5)平臺管理。平臺管理主要包括用戶管理、角色管理、日志管理和參數設置。用戶管理是對使用平臺的校級人員、院級人員、教師和學生的四類用戶進行管理。因為學生行為分析平臺對接學校統一身份認證平臺,因此平臺不需要對用戶基礎信息進行管理,只需要配置每個用戶的角色。角色管理為每一個用戶設置一個唯一的角色,不同角色對應的數據權限和功能權限是不同的,主要有管理員、學校、學院、教師和學生五類角色。日志管理是記錄所有用戶的在平臺上登錄和操作的詳情。參數設置是對平臺中所用參數進行設置,包括行為分析和預測預警中用到的閾值。
為實現高校學生行為數據分析平臺的功能,平臺設計的核心數據表有系統表和業務表兩大類。系統表主要有角色表(ROLE)、功能菜單表(MENU)、角色權限表(ROLE_MENU)、系統用戶表(USER)、用戶角色表(USER_ROLE)、系統部門表(DEPARTMENT)、登錄日志表(LOGIN_LOG)、操作日志表(OPERATION_LOG)、字典表(DICTIONARY)、字典類型表(DICTIONARY_TYPE)和參數設置表(CONFIG)等;業務表主要有學生基本信息表(STUDENT_INFOR)、學院信息表(COLLEGE_INFOR)、課程信息表(COURSE_INFOR)、學生成績表(GRADE_INFOR)、學生學業信息表(STUDIES_INFOR)、學生獲獎信息表(AWARD_INFOR)、消費流水表(COST_FLOW)、消費信息表(COST_INFOR)、圖書借閱信息表(BOOK_BORROWING)、勤工助學信息表(PART-TIME_WORK)、學生就業表(STUDENT_EMP)、貧困生信息表(STUDENT_POOR)、門禁信息表(ACCESS_CONTROL)、生活軌跡表(STUDENT_TRACK)、學生行為標簽信息表(BEHAVIOR_LABEL)、預警信息表(WARNING_INFOR)等。
以預警信息表為例,介紹數據庫表結構的設計。預警信息表用于保存每條預警信息涉及的學生學號、預警時間、預警類型(0——學業;1——心理;2——消費;3——貧困;4——失聯;5——其他)、預警等級(0——一般;1——緊急;2——特緊急)、預警內容和是否智能推送(0——是;1——否),其表結構如表1所示。

表1 預警信息表
平臺基于Web的B/S架構,在Windows環境下開發。開發采用了遵循MVC設計模式的Django框架結構,選擇MySQL作為數據庫管理系統,開發語言采用了JavaScript和Python,程序編寫借助Hbuilder和PyCharm環境。
Django是一個由Python語言寫成、開放源代碼的Web應用框架,可以為用戶提供生動形象的HTML反饋頁面,使用它可以快速、便捷地開發高性能、易維護的Web應用程序。
平臺開發用到了Python提供的許多經典的擴展庫,包括NumPy、Matplotlib和Pyechart等。NumPy是Python的科學計算庫,借助它實現了K-Means算法、Apriori算法、ID3算法和XGboost算法等數據挖掘算法;Matplotlib是Python的繪圖庫,它與NumPy搭配使用實現了數據分析結果的可視化;PyEcharts是Python與Echarts相結合產生的、功能強大的數據可視化工具,它不僅具有豐富的可視化類型、精美的圖表設計和良好的交互性,還可輕松集成至Django框架中,嵌入Web頁面。
在瀏覽器中輸入平臺地址以后,系統會跳轉到統一身份認證界面,進行統一身份認證,如圖4所示。登錄成功,進入平臺首頁如圖5所示。

圖4 統一身份認證界面
首頁主要是學生行為數據的可視化展示,圖5展示的是從校園卡中采集的部分測試數據,經過數據預處理后保留了三個月的學生就餐數據、圖書館自習時長數據和上網時長數據,使用K-Means算法進行了聚類分析。

圖5 平臺首頁界面
左上是就餐地點與就餐次數統計表,它可以輔助后勤管理部門了解各食堂就餐情況,優化飲食服務;右上是學生在圖書館自習累計時長占比展示圖,直接反映學生最近一段時間內的學習狀態;右下是2021年4月份與2020年4月份上網時間對比圖,體現學生娛樂時間的變化;左下是將學生日常行為信息統籌分類,2021同比2020年由K-Means算法程序得到的聚類結果,映射了學生日常表現與學習成績之間存在的潛在聯系。
本文采用Django框架研發了基于數據挖掘的高校學生行為分析平臺,實現了學生行為數據的采集、處理、分析和預測預警等功能,并借助Python提供的擴展庫完成了數據分析結果的可視化。平臺挖掘出的學生學習現狀、生活規律、消費能力、興趣愛好和交友情況,為學校教育教學管理的科學化、精準化提供了有力工具。