黃雪華
?
決策樹和貝葉斯分類算法在學生專業(yè)錄取數據中的應用研究
黃雪華
(湖南城市學院信息與電子工程學院,湖南 益陽 413000)
分類算法是數據挖掘中最重要的挖掘理論之一,廣泛應用于天氣預測、反垃圾郵件、疾病診斷等應用中﹒通過介紹應用最廣泛的兩類分類算法決策樹和貝葉斯理論及算法,并應用于湖南城市學院專業(yè)招生錄取數據中,結合SQL server及ASP.NET,獲取每個專業(yè)的學生性別預測,獲取每個專業(yè)生源省份預測,并對預測結果和實際結果進行比較,得到誤差率分別在0.01和0.2以內﹒
分類;決策樹;樸素貝葉斯;ASP.NET;SQL Server2014;專業(yè)錄取
分類算法是預測離散數據的分類標號﹒最著名的例子如韓家煒的AllElectronics郵寄清單數據庫[1],根據顧客姓名、年齡、收入、職業(yè)和信譽度,可對他們是否購買計算機建立分類模型,并預測未知顧客所屬分類;再如銀行中預測貸款是否存在風險,客戶信用卡等級劃分,這樣可以降低銀行信貸的風險,減少資金的流失;又如文本分類、網絡異常檢測、垃圾短信過濾等應用﹒
從數據結構來看,決策樹是一顆倒立的樹﹒從樹的根節(jié)點到葉節(jié)點的路徑實際就是決策的過程,確定數據樣本所屬類標號的過程,它是一個遞歸地從上到下確定分支節(jié)點和葉節(jié)點的過程﹒葉節(jié)點存放的是數據樣本所屬的類標號;分支節(jié)點根據數據樣本的某個合適的屬性值進行數據集劃分﹒
決策樹的構造分為2個步驟:第1步是建立決策樹階段,通過樣本數據建立決策樹;第2步是樹剪枝階段,對決策樹減去不必要的分枝以及過度擬合,主要是處理噪聲數據和異常數據﹒
決策樹算法有很多種,最為著名的有ID3[1],C4.5[2]﹒決策樹建立的差異主要在屬性值的選取上﹒ID3的分支節(jié)點屬性選擇是通過計算屬性的信息增益值來選擇的﹒C4.5算法是對ID3算法的改進﹒ID3算法只能針對離散數據進行樣本分類,C4.5擴充了連續(xù)數據的分類方法﹒
設是個數據樣本的集合,假定類標號屬性具有個不同值,定義個不同類C(=1,…,),又設S是類C中的樣本數,樣本分類期望信息為
P是任意樣本屬于類C的概率,用S/估計﹒設屬性A具有個不同值{1,…,a},屬性A將樣本劃分為個子集{1,…,S},S是子集S中類C的樣本數﹒根據A劃分子集的熵由式(2)和式(3)給出﹒
然后計算每個屬性的信息增益,在屬性A上的信息增益為Gain(A)=(S,…,S)-(A),以具有最高信息增益值的屬性作為劃分屬性,并為每個值創(chuàng)建分支且迭代劃分樣本﹒
貝葉斯分類方法是另外一種著名的分類算法,它主要是根據后驗概率來預測數據所屬的最有可能的分類﹒
貝葉斯分類算法有多種,其中比較著名的是樸素貝葉斯分類,它假定每個屬性值對分類的影響是相互獨立的﹒
假設A1,A2,…,A是數據集的個屬性,C,C,…,C是數據集的個分類,={1,2,…,x}是一個具體的樣本對象,這個樣本對象屬于類C的概率可以利用貝葉斯公式(見式(4))計算出來﹒
當(C|)大于(C|)時,認為該樣本對象屬于類C,因此需要求出最大的(C|)值,而對于所有分類,樣本的概率()可以視為常數﹒因此只需(|C)(C)最大,如果類的先驗概率未知,則通常假定(1)=(2)=…=(C),否則按(C)=S/計算,其中S是屬于類C中的訓練樣本數,是訓練樣本總數,且假定各屬性之間是相互條件獨立的,則可得
對于每個類C,只需求出最大的(|C)(C)值,則樣本屬于該類﹒
我校的招生錄取數據,共15 734條數據,原始數據分散在4張EXCEL表中,包含2013年、2014年、2015年、2016年的新生錄取情況,由考生號ksh、學生姓名xm、性別xb、錄取專業(yè)lqzy、高考分數grade、投檔線pass grade及省份sf構成﹒部分錄取原始數據樣本見表1﹒
表1 學生專業(yè)錄取原始數據
對這15 000多條數據進行處理,把4張EXCEL表導入到SQL Server中的表kaoshengdata中,并增加id字段,增加錄取年份start year屬性字段,增加考生分數與投檔線分數差differ score字段﹒通過T-SQL編程,編寫觸發(fā)器等方法對數據進行處理,處理之后的部分源數據見表2﹒
在學校里,男女性別人數差異的問題可能會造成很多其他的問題,如宿舍分配、洗澡堂、衛(wèi)生間等與性別相關的公共設施都將產生影響﹒采用決策樹算法對每個專業(yè)學生性別的情況進行預測,學生的性別取值只有男和女兩個值﹒因此可看做0和1的分類問題﹒在該考生的錄取數據中,與學生的性別相關的屬性主要是專業(yè),專業(yè)本身的屬性將會對學生所屬學科及興趣愛好有一定影響,而學生的分數、學生的考生號、投檔線、考生所來自的省份都與性別無關聯﹒因此對該數據建立決策樹模型﹒根據樣本集建立分類模型,再對測試數據進行預測其所屬的性別標號﹒
表2 學生專業(yè)錄取處理后的數據
在ASP.NET所編寫的客戶端應用程序中,根據所選擇的專業(yè),可以分析出該學生可能的性別及相應的概率﹒圖1挖掘結果顯示我校經濟統(tǒng)計學專業(yè)的學生大部分是女生,是女生的概率為67.9%﹒對該預測結果進行驗證,經濟統(tǒng)計學專業(yè)錄取的女生有30人,而該專業(yè)的總人數為50人,女生占比為34/50(0.68),預測值與實際值相差約為0.01;同樣地對城鄉(xiāng)規(guī)劃專業(yè)進行預測,為女生的概率為51.2%,該專業(yè)總人數為281人,女生為144人,占比為51.2%﹒可見采用決策樹預測算法對性別的預測準確率非常高﹒
圖1 決策樹數據挖掘結果
該預測涉及到的DMX語句如下:
select kaoshengdata.xb,predictprobability(xb) as [probability] from kaoshengdata natural prediction join (select '" + profession + "' as lqzy)as t
其中profession是要預測考生所屬的專業(yè)﹒
ASP.NET中的C#語言通過連接字符串"Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=kaosheng;Data Source=."與SSAS建立連接,并顯示出預測結果﹒
利用決策樹算法預測專業(yè)的性別結果數據見表3(由于篇幅原因只給出一部分專業(yè)數據)﹒表3給出了每個專業(yè)學生性別的預測和實際結果,還給出了預測結果與實際結果的誤差率,并得出其誤差率在0.01以內,預測結果準確率非常高﹒
表3 決策樹算法性別預測結果
預測專業(yè)招生學生中最可能來自的省份,據此可制定相應高校招生策略,增加或減少該專業(yè)在該省的招生人數,如果在該專業(yè)中沒有或很少的學生屬于該省,那么可以減少在該省招生人數,否則增加招生人數﹒根據考生的屬性專業(yè)、年份、分數,對考生所來自的省份進行預測﹒由于各屬性之間對類別所屬省份的影響是相互獨立的,因此對考生數據建立樸素貝葉斯分類模型,并對測試數據進行預測﹒建立的貝葉斯模型見圖2﹒
圖2 貝葉斯模型
根據輸入學生專業(yè)、錄取年份及高考分數預測該專業(yè)錄取的學生來自的省份及可能的概率﹒
該預測涉及到的DMX語句如下:
select kaoshengdata2.sf,predictprobability(sf) as [probability] from kaoshengdata2 natural prediction join (select '"+profession +"' as lqzy,'"+startyear1 +"' as startyear,'"+grade1 +"' as grade)as t
其中profession為學生的錄取專業(yè),變量startyear1為考生的錄取年份,變量grade1為考生的高考成績,預測結果見圖3﹒2016年城鄉(xiāng)規(guī)劃專業(yè)的學生,最可能來自的省份為湖南省,其概率為55.3%﹒而在原始數據中城鄉(xiāng)規(guī)劃專業(yè)在2016年總共招收了81人,其中湖南的學生有54人;同年電子科學與技術專業(yè)總共招收了74人,來自湖南的58人,與預測的84%的電子科學與技術專業(yè)的學生來自湖南情況相吻合﹒
利用貝葉斯算法預測每個專業(yè)每年所來自的省份結果數據見表4(因篇幅原因只給出2016年部分專業(yè)生源數據)﹒表4給出了部分專業(yè)學生所來自省份的預測結果和實際結果,并得出其預測誤差率在0.2以內,具有比較高的準確率﹒
圖3 貝葉斯數據挖掘結果
表4 貝葉斯算法生源預測結果
本文研究了決策樹分類和貝葉斯分類的相關理論,包括其定義、相關概念及算法,用SQL Server2014為湖南城市學院學生專業(yè)錄取數據建立模型并進行挖掘分析,采用DMX語句獲取挖掘結果,為學校專業(yè)招生制定相應決策提供了數據支持,通過C#語言并采用ADOMD.NET對挖掘結果進行訪問,最終把預測的結果顯示在網頁中﹒本文采用決策樹分類算法對所錄取的學生進行性別預測,預測值與實際結果的誤差率大小在0.01以內;采用貝葉斯算法對所錄取的學生可能來自的省份進行預測,預測值與實際結果的誤差率大小在0.2以內﹒兩者都具有較高的準確率﹒
[1]HAN J W, KAMBER M, PEI J, 等. 數據挖掘概念與技術[M]. 北京: 機械工業(yè)出版社, 2012.
[2]程斐斐, 王子牛, 侯立鐸. 決策樹算法在Weka平臺上的數據挖掘應用[J]. 微型電腦應用, 2015, 31(6): 63-65.
[3]張輪, 楊文臣, 劉拓, 等. 基于樸素貝葉斯分類的高速公路交通事件檢測[J]. 同濟大學學報: 自然科學版, 2014, 42(4): 558-563.
[4]楊雷, 曹翠玲, 孫建國, 等. 改進的樸素貝葉斯算法在垃圾郵件過濾中的研究[J]. 通信學報, 2017, 38(4): 140-148.
[5]呂昊, 林君, 曾曉獻. 改進樸素貝葉斯分類算法的研究與應用[J]. 湖南大學學報: 自然科學版, 2012, 39(12): 56-61.
(責任編校:龔倫峰)
Application of Decision Tree and Bayes Classification Algorithm in Student Enrollment Data
HUANG Xuehua
(School of Information and Electronic Engineer, Hunan City University, Yiyang, Hunan 413000, China)
Classification algorithm is one of the most important mining theories in data mining. It is widely used in weather forecasting, anti spam, disease diagnosis and other applications. The theory and algorithm of the most widely used decision tree and Bayes are introduced, and applied to student enrollment data of Hunan City University combining with SQL server and ASP.NET to get gender prediction for each major and predict the province students are from. Compare the predicted results with the actual results, it is found that the error rates are within 0.01 and 0.2 respectively.
classification; decision tree; naive Bayes; ASP.NET; SQL Server2014; student enrollment
TP301.6
A
10.3969/j.issn.1672-7304.2017.04.0014
1672–7304(2017)04–0064–04
2017-06-25
黃雪華(1983- ),女,湖南郴州人,講師,碩士,主要從事數據庫、數據挖掘研究﹒E-mail: 107531852@qq.com