王倩 楊洋 單晴雯 施運梅



摘要:學生管理工作中積累了大量的學生信息,有效地利用這些信息將會給學生工作帶來極大的便利與幫助。以北京某高校計算機學院學生的信息為基礎,利用決策樹算法對已有學生的信息進行分類研究,并通過實例驗證其可行性,開啟學生工作新模式。
關鍵詞:學生信息;數據預處理;決策樹;預測;學生工作
中圖分類號:TP311.51 文獻標識碼:A 文章編號:1009-3044(2018)06-0217-03
教育領域積累了大量的學生信息,例如成績、文體科技活動參加情況以及畢業發展狀況等信息,這些信息直接反映了學生在校的學習狀態、性格特點甚至發展方向。對學生信息的分析能夠指導教學,引導學生工作者工作的展開,對學生的培養和發展起到一定的輔助作用。
目前,對學生數據的利用主要是對學生成績的簡單分析,例如:對學生成績計算平均學分績點,排名劃分等級線;對修課學分進行統計分析。這類基礎分析主要依賴分析人的經驗,而缺乏一個客觀的廣泛的評價標準,在實際中發揮的效用有限。數據挖掘技術能從大量看似無聯系的數據發現有用的信息。高等大專類院校學生信息中包含大量有用的信息,對學習成績、文體科技類競賽參加情況以及畢業后發展走向進行挖掘能得到許多對學生工作以及就業指導決策有價值的信息。
在對與此相關的項目進行調研分析之后總結出,對于學生信息的分析,文獻[1-3]只是停留在對學生信息某一方面的具體分析,沒有對學生信息進行總體整合分析,這就有可能導致分析的不夠全面對未來發展預測的不準確,并且在預測之后沒有對預測的準確率進行估計,這種分析的方法不能確定預測的穩定性與準確性。
本項目將對北京某高校計算機學院學生的各項信息進行整合分析,從一個較為完整的角度通過學生的在校信息對學生未來的發展方向做以預測[5][6],并且對預測的準確率進行計算,以確保估計的可信度。下面將從學生信息收集與預處理、決策樹的應用、結果分析以及結束語四部分來進行詳細闡述。
1學生信息收集與預處理
本次研究以北京某高校計算機學院2016、2017屆畢業生為主要分析對象,采集學生姓名、專業、學習成績、就業單位以及是否參與過科研競賽和社團等信息,該數據由學院畢業生指導教師、科研管理教師以及社團管理教師提供,從根本上保證了數據的準確性與可靠性。
收集到的數據大多是以Excel形式進行存儲,這些表格在維度、標準上有較大的差異,因此需要對數據進行預處理:
1)數據清洗:通過填寫缺失值,光滑噪聲數據、刪除重復數據、解決不一致性來“清理”數據;
2)數據轉換:收集到的數據有一部分是和本項目是不相關,是冗余的,減少不相關數據對數據挖掘的影響是至關重要的。
3)數據規約:數據經過前面的步驟之后已經基本符合要求,但還需要經過規約對數據進行最后一步的規范,使數據量減少,讓挖掘的工作量達到更高的效率。
4)數據分類:數據的分類是為了算法能夠更好地處理數據。學生的專業分為三種:計算機科學與技術、網絡工程、軟件工程,為了更為方便的表示,將計算機科學與技術設為1,軟件工程設為2,網絡工程設為3。成績按照優秀、良好、中等、合格、不合格,對應為1、2、3、4、5五個等級。其他數據按照類似的方法進行整理。
按表1的處理規則對數據處理后,得到如圖1所示的分類圖:從左到右分別表示專業分類、競賽、社團、必修課平均成績、以及就業單位。
2決策樹的應用
決策樹算法是數據挖掘算法中一種典型的分類方法,首先對數據進行處理,利用歸納算法生成可讀的規則和決策樹,然后使用決策對新數據進行分析。決策樹的構造可以分為兩部分,第一部分是構建決策樹,即通過訓練數據集產生符合實際需求的數據集,第二部分是通過對已經產生的決策樹進行修剪的過程。主要是用訓練數據集對決策樹進行測試,將對預測結果平衡性的分枝減掉。
在本研究中決策樹的應用主要思想是通過使用決策樹算法對收集數據預處理后得到訓練數據集進行分析建模,然后利用所見模型對未知數據進行預測。預測的好壞的衡量主要體現是預測的準確程度,因此在利用決策樹實現分類預測功能的基礎上,我們增加了獲得預測準確率的方法,從而檢驗預測結果的準確程度。
具體實現分為兩個步驟,第一步是先將構建決策樹的數據和預測數據導入并加載,調用weka jar包中的決策樹算即i48算法形成決策樹,然后會根據決策樹的路徑做出最優路徑,遍歷數據對數據進行預測,得到結果后將預測結果寫到文件中,具體實現過程如圖2所示:
第二步是對決策樹的準確率進行測試驗證,從收集到的北京某高校計算機學院2016、2017屆畢業生的數據即訓練數據集中隨機抽取部分數據作為測試數據,將構建決策樹和測試數據導入并加載。通過i48算法構建好決策樹,來預測測試數據結果,將測試數據結果和真實結果進行對比,統計預測結果準確數據個數和測試數據總個數,來得到準確率。具體實現過程如圖3所示:
3結果分析
經過對預處理的數據決策樹算法分析之后,得到如圖4的數據決策樹,由此圖可得出以下分類規則:
1)成績>90的同學,將會選擇攻讀研究生;
2)成績在80-90的同學,專業在計算機科學與技術且未參加競賽的同學會選擇科技類公司,參加競賽的同學會選擇攻讀研究生而專業在軟工和網工的同學則將會選擇在科技類公司工作;
3)成績在70-80的同學,專業在網工的同學且未參加過競賽的同學會選擇科技類公司作為發展方向,參加過競賽的同學將會選擇非科技類公司,而計算機科學與技術和軟件工程的同學則更傾向于選擇科技類公司。
4)成績在60-70的同學,專業在計算機科學與技術和網絡工程的同學會選擇科技類公司,軟件工程的同學會選擇非科技類公司。
5)成績在60以下的同學,參加過社團的同學會選擇非科技類公司,未參加過社團的同學會選擇科技類公司。
根據訓練數據集中學生三種工作類型location_l:location_2:10cation3=51:82:199的比例隨機選取測試數據集26條(如圖4測試數據),使用上述方法,得到預測結果(如圖5),最后一列即為預測的學生工作類型。將得到的預測數據結果(如圖5)與真實數據(如圖6)進行準確率的對比,準確率達到0.846,證明本研究具有較高的準確率和可信任度。
4結束語
本研究利用數據挖掘技術中的決策樹算法對學生信息分析之后進而得到決策樹模型,通過對模型得到的分類規則,實現幫助學工老師指導學生就業的同時,也幫助學生就業時對自己有一個較為準確的定位,幫助學校和學生樹立責任意識和危機意識,實現各方努力,提高畢業生的實際就業問題。通過實踐驗證,本研究對學生就業具有一定的指導意義和實用價值,具有較高的準確率和可信任度,但由于目前收集到的數據有限,數據分布不均衡,使得結果預測仍有誤差,提高結果預測的準確性將是筆者接下來的研究重點。筆者將收集更多樣化的數據集,實踐更多數據挖掘的分析算法,使研究成果更加具有實用性的價值。