李云松,羅斌
(安徽大學(xué)計算機科學(xué)與技術(shù)學(xué)院,安徽合肥230039;滁州職業(yè)技術(shù)學(xué)院,安徽滁州239000)
基于數(shù)據(jù)挖掘的高職高專生源分析系統(tǒng)設(shè)計與實現(xiàn)
李云松,羅斌
(安徽大學(xué)計算機科學(xué)與技術(shù)學(xué)院,安徽合肥230039;滁州職業(yè)技術(shù)學(xué)院,安徽滁州239000)
本文根據(jù)目前高職高專院校存在的具體情況,將數(shù)據(jù)挖掘技術(shù)引入招生領(lǐng)域,分析了數(shù)據(jù)挖掘的各種方法,采用決策樹的分類方法,對歷年的生源數(shù)據(jù)進(jìn)行挖掘,對生源數(shù)據(jù)的性別、成績、所屬類別、特長愛好、地區(qū)家庭收入水平等因素進(jìn)行分析,找出學(xué)生所填報專業(yè)和其本身屬性之間的關(guān)系,從而為高職高專院校的招生部門提供決策支持信息,使其更好地開展招生宣傳工作。
數(shù)據(jù)挖掘;高職高專;生源;專業(yè)方向;決策樹
從近幾年公布的數(shù)據(jù)來看,高職高專教育已成為高等教育中的半壁江山,而就安徽省而言更是如此。2010年安徽省省屬普通高等教育招生計劃安排296860人,其中普通本科計劃133490人,高職(??疲┯媱?83950人。但目前對全省的近70所高職高專而言,每所院校的平均學(xué)生人數(shù)并不多。高職高專院校對生源的爭奪已是不爭的事實,加之省外部分高職院校和民辦職業(yè)教育的加入及部分考生選擇復(fù)讀或其他途徑就業(yè)等情況使得生源狀況更為緊張。
本文采用數(shù)據(jù)挖掘的方法,從近幾年入學(xué)的學(xué)生學(xué)籍?dāng)?shù)據(jù)中找出規(guī)律性的知識。為學(xué)生提供報考專業(yè)方向的指導(dǎo),為招生宣傳決策提供依據(jù),從而更好地服務(wù)于高職高專類院校的招生工作。
數(shù)據(jù)挖掘(Data Mining)就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程[1]。在這個定義中包含了3層含義:首先,數(shù)據(jù)源必須是真實的、大量的、含噪聲的;其次,發(fā)現(xiàn)的是用戶感興趣的知識;最后,發(fā)現(xiàn)的知識要可接受、可理解、可運用。
數(shù)據(jù)挖掘是一個多個步驟組成的復(fù)雜過程,一般意義上我們可以把它分成3個階段:數(shù)據(jù)準(zhǔn)備;挖掘操作(模樣發(fā)現(xiàn));知識表示和模式評估。數(shù)據(jù)挖掘得到的知識是相對的,有特定前提和約束條件,是面向特定領(lǐng)域的。由此也要求數(shù)據(jù)挖掘的結(jié)果必須是易于理解的,最好能用自然語言來表達(dá)。如圖1所示。
圖1 數(shù)據(jù)挖掘的一般過程
數(shù)據(jù)挖掘技術(shù)按其功能可分為概念描述、關(guān)聯(lián)規(guī)則、分類、聚類和時序分析等。對于不同的數(shù)據(jù)挖掘目標(biāo),用戶期望不同的數(shù)據(jù)模樣,從而會采用不同的數(shù)據(jù)挖掘方法。
決策樹是一種類似于流程圖的樹結(jié)構(gòu);其中,每個非葉節(jié)點表示一個屬性上的測試,每個分枝代表一個測試輸出,而每個葉節(jié)點存放一個類標(biāo)號。樹的最頂層節(jié)點是根節(jié)點。每一條從根節(jié)點到葉節(jié)點的路徑就是一條規(guī)則。規(guī)則以if-then方式給出,用戶可以很容易理解。決策樹歸納的學(xué)習(xí)和分類步驟是簡單和快速的。生源分析系統(tǒng)是一個實際應(yīng)用的系統(tǒng),執(zhí)行的效率是一個比較重要的指標(biāo),所以學(xué)生生源分析系統(tǒng)選擇決策樹算法。
生源分析系統(tǒng)提供數(shù)據(jù)清理與決策樹的生成。決策樹的生成用于從訓(xùn)練數(shù)據(jù)生成決策樹模型以及規(guī)則集。整個系統(tǒng)的結(jié)構(gòu)如圖2所示。
圖2 系統(tǒng)結(jié)構(gòu)圖
生源分析系統(tǒng)數(shù)據(jù)挖掘模型包括數(shù)據(jù)集和對數(shù)據(jù)集的操作兩部分,表示為:{DataSet,OP1,OP2,OP3,OP4}。
其中DataSet是訓(xùn)練數(shù)據(jù)集,用來存儲生源分析系統(tǒng)的業(yè)務(wù)數(shù)據(jù)以及數(shù)據(jù)字典,即{性別,考生特長,考生獎懲,考生類別,成績,專業(yè)};OP1,OP2,OP3,OP4表示對DataSet的操作。其含義分別為: OP1:數(shù)據(jù)清理與轉(zhuǎn)換,OP2:決策樹建立,OP3:連續(xù)屬性處理,OP4:決策樹顯示。
ID3決策樹算法一般要求在數(shù)據(jù)十分理想的情況下進(jìn)行的,而實際應(yīng)用中的數(shù)據(jù)集在多數(shù)情況下不能滿足算法所要求的條件。因此,應(yīng)用中這些數(shù)據(jù)集不能直接應(yīng)用于決策樹算法,而應(yīng)該在對算法使用的數(shù)據(jù)進(jìn)行應(yīng)用之前做以下幾個方面進(jìn)行改進(jìn)。
1.屬性的選擇
本系統(tǒng)在實際應(yīng)用中通過先期的計算將學(xué)生入學(xué)信息中對分類影響較小的屬性進(jìn)行了清理,如去除學(xué)生的姓名、出生日期、身份證號碼等屬性。
2.連續(xù)型屬性的處理
本系統(tǒng)在實際處理時,把成績屬性劃分為3個屬性值:良好(400及以上)、較好(350-399)、一般(349及以下)。通過離散化數(shù)據(jù)提高了產(chǎn)生決策樹的效率。
3.缺失值情況的處理
一般情況下,訓(xùn)練數(shù)據(jù)集中總是存在著缺失值的情況。對于缺失值的處理方法有以下幾種:一是將缺失值看作屬性的一種可能的取值。如果缺失值在訓(xùn)練數(shù)據(jù)集中大量存在的話,這種處理方法很恰當(dāng);二是將訓(xùn)練集中出現(xiàn)缺失值的實例都忽略掉的方法。這種方法簡單,但是可能會導(dǎo)致出現(xiàn)一些規(guī)則的損失。
以微軟Visual Studio 2005和SQL Server 2005作為開發(fā)平臺,實現(xiàn)了生源分析系統(tǒng)的設(shè)計。系統(tǒng)的使用過程如圖3所示。
圖3 生源分析系統(tǒng)操作流程
生源分析系統(tǒng)的原始的數(shù)據(jù)來自學(xué)院的每年錄取的考生數(shù)據(jù)表,它是一張微軟Execl電子表格。其中包括所錄取學(xué)生的基本信息。對于數(shù)據(jù)的清理與轉(zhuǎn)換主要有以下幾點工作:1.去除無關(guān)數(shù)據(jù);2.將不可分類統(tǒng)計的信息進(jìn)行規(guī)范化;3.?dāng)?shù)據(jù)轉(zhuǎn)換。
本文中決策樹的建立是基于ID3算法實現(xiàn)的。其中關(guān)鍵的步驟是信息增益的計算。在屬性列表中找出“最好的分類屬性”的過程就是計算信息增益的過程。它的算法描述如下:
(1)計算每個分類屬性的期望信息Info(D);
(2)計算每個分類屬性的期望信息需求InfoA (D);
(3)計算每個分類屬性的信息增益Gain(A)= Info(D)-InfoA(D);
(4)根據(jù)步驟(3)得到的每個分類的信息增益,找出信息增益最大的分類屬性,即是我們要找的“最好的分類屬性”。
決策樹的顯示是一個將決策樹中的每一個節(jié)點輸出到richTextBox中的過程。根據(jù)樹的遍歷方式不同而有不同的方法,主要有先序遍歷、中序遍歷和后序遍歷方法,本文采用了先序遍歷的方式。如圖4所示
圖4 生成的決策樹
樹的輸出是一個遞歸的過程,首先判斷樹是否為空,空樹不輸出退出樹的輸出;如果樹非空,則將根節(jié)點輸出,再對根節(jié)點的每個孩子節(jié)點進(jìn)行同樣的操作。
決策樹的規(guī)則是以if-then形式表示的。產(chǎn)生規(guī)則的方法是:首先為每個葉節(jié)點產(chǎn)生一個規(guī)則,然后把從該葉節(jié)點到根節(jié)點路徑上的所有條件合并,這樣就產(chǎn)生了一條規(guī)則[2]。其中,從根節(jié)點到某個葉節(jié)點前的路徑上的條件用邏輯“and”進(jìn)行連接形成一條規(guī)則的if部分,葉節(jié)點包含類預(yù)測,形成規(guī)則then部分。
本文中可以根據(jù)生成的決策樹直觀地給出規(guī)則。如圖4所示的決策樹可推導(dǎo)如下規(guī)則。
(1)如果學(xué)生的成績好、類別是理科且受到過獎勵,則學(xué)生報考的專業(yè)方向為信息工程類;
(2)如果學(xué)生的成績高、類別是理科且受到過獎勵,則學(xué)生報考的專業(yè)方向為機電工程類;
(3)如果學(xué)生受過獎勵且類別是文科,則學(xué)生報考的專業(yè)方向為經(jīng)濟貿(mào)易類;
(4)如果學(xué)生沒有受過獎勵,則學(xué)生報考的專業(yè)方向為經(jīng)濟貿(mào)易類。
從本系統(tǒng)運行的結(jié)果來看,決策樹生成和準(zhǔn)確率存在一些問題,問題的產(chǎn)生經(jīng)分析有以下幾方面的成因:
(1)算法本身問題。本文所設(shè)計的算法程序在決策樹的剪枝方面所做的工作較少,可能導(dǎo)致生成的決策樹不準(zhǔn)確;
(2)測試數(shù)據(jù)集問題。誠然本文所用測試數(shù)據(jù)集為學(xué)院近幾年招生的真實數(shù)據(jù)的一部分,但幾年來由于社會總的環(huán)境與就業(yè)壓力等因素,可能造成了一些報考取向上的一些“噪聲數(shù)據(jù)”。比如:總體上文科類學(xué)生占總量的比例多;就業(yè)方便的熱門專業(yè)(土木工程、機電工程等)方向上報考學(xué)生多等。
高職高專生源分析系統(tǒng)的系統(tǒng)設(shè)計與功能已設(shè)計完成,但它還有一些不盡如人意的地方,對它還可以進(jìn)一步地修改與完善。如進(jìn)一步完善生源分析系統(tǒng)的模型設(shè)計。以便在工程實踐中補充更多的可能影響學(xué)生報考專業(yè)的因素。如已入學(xué)學(xué)生的學(xué)習(xí)狀況、學(xué)生家庭所在地的經(jīng)濟發(fā)展水平等。從而完善、改進(jìn)系統(tǒng)的可信度。
數(shù)據(jù)挖掘技術(shù)本身經(jīng)過近幾十年來的發(fā)展已在社會經(jīng)濟多個領(lǐng)域內(nèi)有所建樹,但數(shù)據(jù)挖掘應(yīng)用仍然可以用“雷聲大,雨點小”來形容,它的市場還相對較小。多數(shù)的應(yīng)用集中于金融、保險、電信等等大型企業(yè)中。對大多數(shù)的應(yīng)用程序設(shè)計和開發(fā)人員而言,數(shù)據(jù)挖掘看上去是復(fù)雜且不易理解的。所以數(shù)據(jù)挖掘技術(shù)如果要成為一種為廣大用戶理解并掌握的工具還需要解決許多問題,如模型、算法和開發(fā)工具等。
[1]屈志毅,周海波.決策樹算法的一種改進(jìn)算法[J].計算機應(yīng)用,2008,(28):141~143.Improvedalgorithmbasedon decision tree.
[2]韓慧,毛鋒,王文淵.數(shù)據(jù)挖掘中決策樹算法的最新進(jìn)展[J].計算機應(yīng)用研究,2004,(12):48-50.
G717
A
1671-5993(2011)01-0012-03
2011-03-15
李云松(1973-),男,安徽省全椒縣人,滁州職業(yè)技術(shù)學(xué)院講師,安徽大學(xué)在職碩士研究生在讀。
羅斌(1963-),男,安徽合肥人,安徽大學(xué)計算機科學(xué)與技術(shù)學(xué)院教授。