發布時間:2023-01-03 00:41:12
序言:寫作是分享個人見解和探索未知領域的橋梁,我們為您精選了8篇的數據挖掘課程樣本,期待這些樣本能夠為您提供豐富的參考和啟發,請盡情閱讀。
近年來,在社會發展和科學進步的過程中,以信息技術為中心的各領域產生了豐富的數據,引起了社會各界人員的高度關注。體量大、速度快、模態多和價值密度低是大數據具有的特點,其能夠促進科學和社會經濟的進一步發展,對國家安全也具有重要的影響。然而從大量數據中挖掘出有價值的信息和知識是需要專業的數據挖掘人才來實現的,因此,在高校數據挖掘課程教學過程中,教師要創新教學方法,運用科學的教學理論培養學生對數據的意識,從而促進教學質量的提高和大量數據人才的培養。
一、科學引導,培養數據意識
在我國的各大高校中,數據挖掘課程是理科和工科都開設的一門課程,其專業性質較強,最初開設這門課程的主要目的是在于讓學生了解數據的相關概念和挖掘數據的相關技術手段,并能夠在以后的社會實踐中應用到數據挖掘技術。但社會經濟的發展和科學技術的進步,給數據挖掘課程帶來了較大的挑戰,僅僅是了解數據的相關知識和掌握淺層次的數據挖掘技術是不能適應時展需求的。因此,需要開設數據挖掘課程的高校教師在教學過程中對學生要進行科學的引導,注重培養學生的數據意識,提高學生對數據挖掘課程的積極性。
數據驅動的理論分析和應用是數據挖掘課程的重點,具體性和抽象性是其具有的兩個特點。數據挖掘課程的主要研究對象是具體的數據,并從數據中挖掘出有價值的信息和知識,能夠對數據進行解釋和理解,這主要體現出數據挖掘課程的具體性特點;而在進行數據挖掘過程中使用的理論、方法和技術等概念,體現的是數據挖掘課程的抽象性,其在課堂學習過程中的消化和理解的難度是較大的,因為時間較短。由于種種因素對數據挖掘課程造成影響,因此在設計數據挖掘課程的教學之前,首先要做的就是讓學生對數據挖掘課程感興趣,并在發展過程中使學生的數據意識得以培養和提高。
在設計數據挖掘課程的教學過程中,可以增加講解什么是數據、數據有什么作用、所具有的重要性等的學時,加強學生對數據的認識和重視。處在大數據的時代環境下,要讓學生了解什么是“大數據”,而生活中的哪些方面存在大數據、大數據是以何種增長方式在哪些領域進行發展的大數據能夠發揮作用等。教師在教學過程中可以使用多媒體教學的方法,通過實例和聲像的展示,讓學生了解生活中存在的數量,并清楚的掌握數據挖掘的技術方法,并從大量的數據中挖掘出有價值的信息和知識,為社會發展和企業進步提供服務,讓學生了解在企業的發展過程中,數據挖掘的重要性。為了增加學生對數據挖掘課程的興趣和重視程度,在教學過程中,教師還可以將數據分析和數據挖掘的相關招聘案例融入到教學過程中,從數據挖掘課程以往的就業率、職位性質、工資待遇及未來的職業發展前景等方面來增加學生對數據挖掘課程的興趣,有利于在以后的學習生活中更好地掌握數據挖掘技術和應用數據知識。
二、深化基礎,加強理論體系
現有的數據中心技術因大數據的特征而很難滿足數據分析的需求,去噪降維技術、數據儲存、數據整合、數據特征表示、數據通信傳輸和處理,以及非結構化和半結構化處理等方面是其主要表現。基于此,數據挖掘技術面臨的局勢較為嚴峻,并且數據挖掘課程是一門綜合性較強的學科,涉及的內容較為廣泛、復雜,主要包括數據庫技術、統計學知識、機器設備知識、信息檢索技術和智能計算等學科內容。然而現階段的高校在教學設計過程中難以在有限的時間里將這些學科全部開設,即使是將這些學科全部開設了,每個學科的課時就會較少,不利于各學科的深入學習,從而對數據挖掘技術的掌握造成不同程度的阻礙。為了解決這個問題,在高校進行教學設計的過程中,可以把大三或大四的學生作為數據挖掘課程的主要教學對象,因為這部分學生對自己的職業生涯有清晰的認識,并且在大一、大二的學習過程中有一定的知識基礎。在大一學年和大二學年開設高等數學、統計學、算法分析、智能計算、數據庫原理和計算機系統原理等學科,為數據挖掘課程的學習做好基礎性的工作。在教學過程中,教師也可以向學生推薦數據挖掘課程相關的數據,最好的專業領域較為著名的案例,有利于鼓勵學生學習數據挖掘課程的自信心。外語水平也是數據挖掘課程對學生的一個要求,因為只有掌握了高水平的外語,才能夠了解國外的數據挖掘技術的發展水平,全面的掌握國內外的數據挖掘發展情況。所以在設計高校數據挖掘課程的教學過程中,要推進基礎知識的深化以及理論體系的完善,為日后的數據挖掘課程的學習奠定知識基礎。
三、聯系實際,創新教學方法
實踐是理論來源的基礎,對于理論的檢驗,實踐是最有效的途徑。由于數據挖掘技術具有強烈的抽象性,以至于學生對大數據的認識較為模糊,讓學生了解數據挖掘課程的內容和在實際生活中的應用所采取的方式就是教師的教學方法。案列教學法是教學過程中最好的教學方法,有利于學生對數據挖掘知識的了解和掌握,還有利于學生掌握良好的數據挖掘技術方法。通過案例教學法,讓學生了解數據挖掘在生活中的重要作用,在處理大數據時具有很大的作用。
教師在積極轉變教學內容和教學方法的同時,學生也應該積極探索提高學習質量的方法,在課堂教學過程中,雖然教師起主導作用,但是課堂的主體仍然是學生。對于教學內容,學生應該主動接受,與被動接受相比,會獲得較好的學習效果,因此要讓學生欣然地接受教師教學過程中的新內容和新方法。此外,在上機實驗課程的教學過程中,對于案例中的具體案例需要學生親自來演算,而教師在這個過程中主要是引導和指導,啟發學生對深層次內容的創新思考。還可以在每次采集和試驗案例之后,要求學生提交相應的分析研究報告,這樣一來,學生對于大數據挖掘課程的接受程度能夠被教師很好地掌握,從而完善教師的教學方法,提高教學質量。
四、增強興趣,深入科學研究
數據挖掘在大數據下面臨著巨大的挑戰,數據挖掘學科是一門綜合性的學科,其中涉及的其他學科較多,所以學習難度和教學難度較大。因此在教學過程中要充分發揮教師的主導作用,引導學生對數據挖掘課程的深入學習。例如,讓學生間隔性地去了解大數據環境下數據挖掘技術解決了什么問題,甚至讓他們調查如今各大型招聘網中有關大數據分析和數據挖掘等職位的情況,進而增強學生對數據挖掘的興趣。此外,對于年級較高的學生來說,深造是其主要選擇的方式,也可以通過出國或是考研等渠道進行知識資源的深入學習,從而掌握更多的知識,提升自身的綜合素養。對于這樣的學生,教師應該通過鼓勵的方式使其選擇研究數據挖掘方向的科學,為了充分有效地提高這部分學生的研究水平,教師可以給學生布置一些具體的課題任務,課題任務的研究內容一定要保證精細程度,甚至可以精細到數據挖掘過程中使用的一個方法的研究,這有利于學生深刻認識課題任務重要性的培養,同時還有利于學生較為準確地把握問題研究的方法和內容。提高學生對新型研究技術和研究方法的掌握,可以增加學生的經典文獻的閱讀量,在這個過程中,學生的創新性思維得到了有效培養,教師還要采取有效的措施引導學生進行學術性的創作研究。在實際的教學過程中,將科學研究引入到其中,有利于促進學生對新知識的理解和吸收,還能夠使學生解決問題的能力得到有效提升,為學生研究大數據的挖掘提供有利保證,并且打下一個堅實的基礎。
五、結語
在大數據環境下,數據挖掘課程是各大高校急需開設的一門課程,教師在教學過程中,要使用創新的教學方法,讓學生真正地了解到數據挖掘技術對社會進步和企業發展的重大作用。教師還要結合教學經驗,重點從培養學生的數據意識、加強理論體系、創新教學方法和深入科學研究等方面進行數據挖掘課程教學設計,為提高大數據環境下挖掘課程的教學質量提供參考依據。
參考文獻:
[1]劉建偉.數據挖掘課程設計的教學探索[J].科技信息,2013,(23).
[2]黃美麗.“數據倉庫與數據挖掘”研討型教學實踐探析[J].計算機時代,2012,(12).
[3]周森鑫,盛鵬飛,王夫芹.數據挖掘課程案例教學研究[J].計算機技術與發展,2012,(11).
關鍵詞:數據挖掘原理與算法;實例;教學探索
0.引言
隨著經濟、科技和信息技術的飛速發展,特別是網絡技術的發展,數據的產生和存儲能力有了很大程度的提高。數據挖掘的出現,為人們提供了一條解決“數據豐富而知識貧乏”困境的有效途徑Ⅲ。所以很多高校,包括世界上一些著名高校都開設了數據挖掘課程。課程的基礎理論部分一般包括數據預處理、關聯規則、分類、聚類、時間序列挖掘、Web挖掘等內容。該課程使學生學會分析研究數據挖掘中數據預處理、常用算法、結果的可視化等技術,并培養學生的數據抽象能力,幫助學生形成科學思維和專業素養,使他們畢業后在就業上有更多的選擇。
筆者將探討基于實例教學的數據挖掘課程的教學內容安排,強調淡化學科背景,加強算法的應用性訓練,將實際的例子貫穿于教學中,并重新組織授課內容、安排實踐環節,教會學生學以致用。
1.教學現狀分析
1.1課程本質
數據挖掘原理與算法涉及的學科領域很寬泛。其最終目的是在數據中挖掘出可供人們利用的知識和信息,因此數據挖掘技術要從數據庫技術、統計學、機器學習、神經網絡、知識系統、信息檢索、高性能計算和可視化等領域汲取營養。另外,每個學科都在進行著日新月異的發展變化,數據挖掘技術遇到的挑戰也為相關學科領域的深入研究提供了新的契機。由于課程難度較大,很多高校把這門課程作為研究生的專業課程,也有院校將此課作為本科生高年級選修課開設腳。但是本科生開設這門課程的普通院校較少,我們能借鑒的教學經驗有限。
1.2數據挖掘課程教學環節的弊端
①某些學校對本科生開設的數據挖掘課程,其教學過程對理論的探討過多,與應用存在距離,沒有體現出這門課程面向應用的特質,缺少對學生工程能力的訓練,存在學生在學了這門課程后不知道能干什么的現象。
②教學形式呆板單一。傳統的教師講、學生聽的教學模式,很難引起學生的探究興趣,不利于發揮他們自身的能動性和創新動機。
2.選擇恰當實例貫穿數據挖掘課程的教學過程
煙臺大學計算機學院所開設的數據挖掘課程在教學上安排了6章內容,涉及3個實例(其中兩個是實際生活中的項目課題):第1個是用于房產信息調查的房產客戶關系管理系統;第2個是用于煙臺大學督評中心評教文本分類的中文文本數據挖掘系統;第3個是用于國家葡萄酒檢測中心的數據分析的葡萄酒成分數據挖掘系統。
2.1房產客戶關系管理系統
在講述房產客戶關系管理系統時內容涵蓋緒論、知識發現過程和關聯規則3章,重點講授內容包括:
(1)數據倉庫。住房管理數據倉庫中的數據是按主題組織的,可從歷史觀點提供信息。數據挖掘技術能按知識工程的方法完成高層次需求,可以發現蘊藏在數據內部的知識模式。挖掘后形成的知識表示模式可為企業決策提供支持。
(2)通過對客戶信息進行分析,闡述關聯規則的參數:support、confidence、expected confidence,并簡單介紹關聯規則中的多維、多層次等拓展知識。
(3)關聯規則挖掘。①講授關聯規則挖掘的Apriori算法;②講述布爾關聯規則的概念,對處理后形成的交易數據庫進行布爾關聯規則挖掘,將問題轉化為尋找以決策屬性為結果的規則;③將關聯規則挖掘應用于客戶關系管理的最終目的是努力將潛在客戶轉變為現實客戶,將滿意客戶轉變為忠誠的終生客戶,提高客戶滿意程度,降低市場銷售及宣傳成本,增加利潤率。
(4)設minsup=10%,minconf=70%。在統計的各類人群中獵取咨詢的渠道主要是雜志、報紙、互聯網和電視。經試驗統計后得到以下有關知識:①滿足age>50 AND職業=“工人”的客戶占所統計總人數的9.7%;其中滿足age>50 AND職業=“工人”AND渠道=“TV”的客戶占92%。②符合學歷=“大專”AND職業=“工人”的客戶占所統計總人數的24.8%,其中滿足學歷=“大專”AND職業=“工人”AND渠道=“newspaper”的客戶占82%。③被統計人群中滿足income=“5000-9000”AND職業=“教師、醫生、公務員”的客戶占所統計總人數的32.7%;其中滿足income=“4000-6000”AND職業=“教師、醫生、公務員”AND渠道=“雜志”的客戶占83%。④被統計人群中滿足學歷=“本科”AND income≥“10000”的客戶占所統計總人數的占11.6%;其中符合學歷=“本科”ANDincome≥“8000”AND職業=“公司經理”AND渠道=“雜志”的客戶占86.5%。
(5)教師要分析Apriori算法的瓶頸和改進,介紹Close算法和FP-樹算法,并且要求學生們掌握這3種經典算法。
2.2中文文本數據挖掘系統
中文文本數據挖掘系統圍繞評教分類模型的建立講述特征選擇和主要分類算法。根據煙臺大學教學督評中心提供的學生對教師的中文評教文本,利用分類的方法找出其評價的傾向性,結合教材,重點講授了以下內容:
1)特征選擇。
①介紹有監督、無監督和半監督的特征選擇方法。②介紹使用分詞軟件后,統計詞頻,去掉小于閾值的低頻詞。③對比詞頻率、IG值(信息增益)、期望值差異對分類結果的影響留取特征詞。
部分數據示例如下:用特征選擇的方法對重要的屬性進行抽取,略去對分類影響不大的屬性,達到降維的目的,把特征選擇作為預處理。我們選用517條主觀評價作為訓練樣本,其中233條留言是一般評價,采用以下3種方式進行特征選擇:詞頻率、IG值(信息增益)、期望值差異。不同方式特征選擇對分類準確性的影響如表1所示。
2)分類。
在介紹常用的分類基礎知識和決策樹、ID3、樸素貝葉斯分類、最近鄰分類算法之后,又介紹了基于潛在語義分析的降維技術,講授了支持向量機(SVM)適用于文本分類的原因。布置給學生的任務是用爬蟲獲取網評,作傾向性分析。
評教文本分類統計后的結論是:將降維技術和支持向量機算法結合在評教模型的建立過程中,研究討論的主要內容有:①各個指標取不同值對分類的影響,這些指標主要集中在特征抽取和選擇、保留詞性和降維維數等幾方面;②對分詞后的文本進行特征選擇,篩去了詞頻數小于4的文本;③降維至30維,并適當設置SVM中的可變參數,找到合適的訓練一測試樣本的比例,最后綜合出一個現有條件下的最佳分類模型。
2.3葡萄酒成份數據挖掘系統
葡萄酒成份數據挖掘系統介紹數值數據的預處理和聚類2章內容。對葡萄酒成份的分析是根據所提供的酒中各成份的含量數據,采用聚類或分類的方法確定某種葡萄酒的種類,比如是紅葡萄酒、白葡萄酒還是甜葡萄酒。圍繞這個問題我們介紹了如下內容:
1)數值數據的預處理。
①介紹葡萄酒中各個屬性的含義和取值范圍;②講授數據的離散化技術,如等深、等寬、聚類技術;③講授本例中使用的m一估值計算對數值屬,1生的離散化技術;④講述本例中如何避免0值出現及去噪聲技術。
葡萄酒中各成份的含量數據如表2所示。
2)聚類。
在介紹聚類的基本知識和常用算法(如k均值、k中心點、DBSCAN技術)之后,講解了:①本課題使用的層次聚類算法。在測試結果時通過測試樣本和分類樣本的不同比例,對結果進行了對比。②講述了用樸素貝葉斯分類計數對這一問題的分類處理,同時對比了聚類和分類算法在同一問題上的結論差異。利用樸素的貝葉斯分類器可以完成預測目標,根據訓練樣本建立分類器,對待測樣本進行預測,準確率可達到90%以上。③引導學生思考對問題的處理可以聯合使用各種算法,并分析各種算法對結果的影響,從而找出解決問題的最佳方案。
2.4利用已知算法和實例講授Web挖掘技術
因特網規模龐大、結構復雜、動態變化性大,蘊含大量的信息。將Web上豐富的信息轉變成有用的知識正是Web挖掘的意義所在。用之前中文文本分類的方法引導學生在一些購物網站中下載對商品評論的中文文本,抽取特征詞,進行傾向性分析,使學生熟悉支持向量機的分類方法,分詞軟件的使用及文本挖掘的整個過程。
3.結語
文章在前期制定應用型本科生數據挖掘課程教學大綱的基礎上,針對數據挖掘課程內容多學科交叉的特點,在教學中提出淡化學科背景,注重算法應用與實踐,以客戶關系管理、葡萄酒數據分析、中文評教文本分類等實例作為授課內容主線,讓實例教學始終圍繞著典型的算法和前沿知識展開的教學方式。在今后的教學工作中,我們還應該不斷站在學科發展的前列,經常更新實例,使其更好地融入教學,將教與學有機統一,取得更好的教學效果。因此我們還有大量的工作需要探索研究。
參考文獻:
[1]宋成,李晉宏,項目驅動的數據挖掘教學模式探討[J],中國電力教育,2011(27):116-177.
[2]劉云霞,統計學專業本科生開設“數據挖掘”課程的探討[J],吉林工程技術師范學院學報,2010(6),20-22.
[3]徐金寶,對應用型本科生開設數據挖掘課程的嘗試[J],計算機教育,2007(7):27-29.
[4]高園園,呂慶文,數據挖掘課程的教學思考[J],醫學信息,2009,22(11):23-24.
[關鍵詞] 經濟與管理;本科生;數據挖掘;教學探索
[中圖分類號] G642.3 [文獻標識碼] A [文章編號] 1005-4634(2013)04-0082-03
0 引言
數據挖掘技術能從大量數據中發現和學習有價值的和隱藏的知識,因而近年來在國內外受到極大重視,在電信業、零售業和銀行業等生產大數據的行業中正獲得越來越廣泛的應用[1]。因此,近幾年數據挖掘這門課程已越來越多的走進了高校課堂。但是,數據挖掘又是一門綜合性較強的交叉學科,它涉及到統計學、數據庫技術、數據倉庫、人工智能、機器學習和數據可視化等學科知識,對學生的專業知識背景和前期所學課程有較高的要求,這在一定程度上限制了數據挖掘作為一門既有理論價值又有實踐價值的學科的應用和推廣。筆者結合自己的教學實踐研究經管類專業本科生開設數據挖掘課程的教學探索。
1 經管類專業本科生開設數據挖掘課程的必要性和可行性分析
從經管類各專業的培養目標角度分析。以南京郵電大學經管類專業為例,該專業包含信息管理與信息系統、電子商務、市場營銷、經濟學和工商管理等專業,這些專業的培養計劃都把培養學生具備市場分析、經營和管理決策能力作為專業的基本培養要求之一。數據挖掘作為商務智能的核心技術,是輔助管理者進行決策分析的有效工具,在激烈的商業競爭中發揮的作用越來越大。因此,為經管類專業本科生開設數據挖掘課程可以更好地實現專業培養目標。
從經管類專業本科生的就業角度分析。經管類專業本科生畢業后,有相當一部分同學會從事營銷崗位或者信息管理、網站設計與維護等技術崗位。對于從事營銷崗位的同學來說,由于現在的市場營銷概念已經發展到精細營銷理念,即企業恰當而貼切地對自己的市場進行細分,對各種客戶群進行深入的分析和定位,并根據不同的客戶群特點,采取精耕細作式的營銷操作方式,將市場做深做透,進而獲得預期效益。數據挖掘技術是實現精細營銷的重要工具;對于從事技術崗位的同學來說,學習數據挖掘課程,掌握數據挖掘的思想和方法對培養學生的系統思維和解決實際問題的能力、提高學生的信息素養很有必要。因此,學習數據挖掘課程對學生未來的工作也是非常有幫助的。
數據挖掘是一門交叉學科,課程理論性強,且對學生的計算機基礎要求較高。經管類專業只有信息管理與信息系統、電子商務兩個專業開設了較多的計算機課程。但是所有經管類專業都開設了統計學必修課程和數據庫原理與應用必修或選修課程,這兩門課程是數據挖掘的核心。因此,適當地調整教學目標,將數據挖掘作為一門選修課程為經管類專業本科學生開設是完全可行的。
2 教學過程中存在的問題
筆者在為經管類專業本科生開設數據挖掘課程的過程中,往往遇到兩個問題。
1)課程較強的理論性與學生知識結構缺陷之間的矛盾問題。數據挖掘這門課程涵蓋了統計學、數據庫原理、機器學習、信息論和時間序列等眾多內容,課程教材中有較多的公式推導和算法分析,因此課程的理論性較強。然而,經管類專業本科生之前只是學習了統計學和數據庫原理與應用兩門課程,機器學習等其他課程知識均沒有涉及到,因此在學習數據挖掘課程時會感到內容難度較大,障礙較多[2]。
2)理論教學與實驗教學學時合理分配的問題。由于數據挖掘課程通常是作為選修課安排在經管類專業本科生培養計劃中,總學時數相比學位課程要少,只有32學時。正如前文所述,這門課程包含的內容多、難度大,因此必須要保證足夠的理論教學學時數量。同時,數據挖掘又是一門應用性較強的課程,特別是對于經管類專業本科生來說,一定要安排足夠的實驗教學學時,讓學生在實踐中提高分析問題和解決問題的能力。在較少的總學時約束條件下,如何合理地分配理論教學學時和實驗教學學時是課程教學遇到的又一個問題。
針對經管類專業本科生開設數據挖掘課程時遇到的矛盾問題,將這門課程的教學目標確定為:掌握數據挖掘基本流程和經典算法的基本原理,熟練運用數據挖掘軟件工具,分析和解決商業應用問題。課程教學目標指出,為經管類專業本科生開設數據挖掘課程的目的是培養學生利用數據挖掘這種工具去分析和解決商業應用問題的能力,而不是要求學生具備數據挖掘算法設計能力。因此,對于經管類專業本科生來說,實驗教學和理論教學同等重要。在課程教學大綱中應將理論教學學時和實驗教學學時設置為各16個學時。
3 教學內容設計
用16個學時來介紹數據挖掘課程的理論知識點,這就要求教師能夠為經管類專業本科生精心挑選知識點,“量身定做”教學內容。
1)以應用為目的設計教學內容。根據經管類專業本科生數據挖掘課程的教學目標,本門課程在教學過程中應注重培養學生應用數據挖掘分析問題和解決問題的能力,這就要求教師能夠圍繞數據挖掘的整個應用過程來安排教學內容。數據挖掘的應用過程包括數據收集、數據預處理、模型構建和知識評價四個主要步驟。數據收集步驟是指準備數據挖掘的對象——數據源,有的數據源是一個數據文件或者是數據庫中的一張關系表,但對于具體的商業應用來說,數據源往往是來源于同一個或不同數據庫中的多張關系表,或者是多個數據文件,這時需要對數據源進行集成,甚至是構建數據倉庫;數據預處理步驟是指通過數據清洗、數據集成、數據變換和數據歸約等操作為數據挖掘任務提供干凈、準確和簡潔的數據,提高數據挖掘效率和挖掘結果的質量,它是數據挖掘中非常重要的環節;模型構建步驟是指選用數據挖掘算法在預處理后的數據集上構建挖掘模型的過程,關聯、分類、聚類和回歸分析是數據挖掘中四個主要的挖掘任務,每個挖掘任務又對應了多個挖掘算法;知識評價步驟是指采用各種統計指標對挖掘結果進行評價,以發現有價值的知識。由于不同挖掘算法得出的挖掘結果表現形式不同,知識評價應針對具體挖掘算法進行,因此知識評價步驟要安排在每個挖掘算法介紹完之后。
2)重點介紹經典算法。針對經管類專業本科生在學習數據挖掘課程時感到內容難度較大這一問題,且考慮到課程的理論授課學時有限,筆者對原有的數據挖掘內容進行了適當的精簡。數據挖掘包含數十種挖掘算法,刪除復雜和難度大的數據挖掘算法,針對每種挖掘任務重點介紹其經典算法。例如,關聯挖掘中的Apriori算法,實現分類挖掘的決策樹算法,實現回歸分析的最小二乘法以及聚類分析的k-means算法。對于神經網絡、貝葉斯分類、時間序列挖掘和Web數據挖掘等難度較大或內容拓展性算法,在介紹相關章節時略提一下,并鼓勵有興趣的學生在課余時間自學。
3)增加商業案例。數據挖掘是一門技術性較強的課程,一般的教材往往注重理論,相關案例較少,因而不容易激發學生的學習熱情[3]。為了幫助經管類專業本科生增加對課程中各種挖掘任務的感性認識,同時也是為了激發學生對本門課程的學習興趣,筆者在講授過程中增加了若干關于數據挖掘的幽默故事、經典案例和在各行業中的應用案例,通過分析案例加深學生對算法應用的理解。例如,在介紹關聯挖掘任務時給學生們引入“啤酒與尿布”的故事;在介紹分類挖掘任務時講解客戶流失分析的應用案例;在介紹聚類挖掘任務時分析客戶細分的應用案例。
基于上述分析,筆者為經管類專業本科生開設的數據挖掘課程教學內容具體如下。
第一章為緒論,主要是對數據挖掘技術作概括性描述,讓學生對數據挖掘定義、與數據倉庫的關系、研究熱點以及發展趨勢形成感性認識。本章內容分配2個理論教學學時。
第二章為數據倉庫,主要內容包括數據倉庫的定義與特征、數據倉庫的數據組織、數據模型、總體結構和設計等原理性知識點,以及聯機分析處理(OLAP)的基本概念和分析操作等基本知識。本章內容分配2個理論教學學時。
第三章為數據預處理,主要介紹數據清洗、數據集成、數據轉換以及數據歸約等數據預處理的基本步驟和常見方法。本章分配3個理論教學學時。
第四章至第七章圍繞數據挖掘的4個重要任務——關聯、分類、聚類和回歸分析,在介紹每種挖掘任務基本概念的基礎上,重點介紹經典算法的基本原理和挖掘結果評價方法,以及每個挖掘任務在具體行業的應用案例。第四章至第六章每章內容分別分配3個理論教學學時,第七章內容分配2個學時。
4 實驗項目設計
數據挖掘是一門與實際應用結合緊密、實踐性較強的課程。為了加深學生對數據挖掘理論知識點的理解,鍛煉和提高學生的實際動手能力,必須結合實驗進行教學。數據挖掘課程的理論教學和實驗教學構成一個完整的整體,缺一不可[4]。實驗教學要充分調動學生的主動積極性,而不是簡單地讓學生進行驗證式的操作實驗或僅僅局限于機械地使用、熟悉某種軟件工具。
筆者針對課程知識點設計了4個實驗項目,每個實驗項目分配4個實驗學時。
第一個實驗項目為數據倉庫構建,實驗軟件是SQL Server 2000,它提供了一套完全的數據庫和數據分析解決方案,其中的Analysis Service 組件支持數據倉庫的創建和應用,并提供OLAP聯機分析操作。構建數據倉庫的數據源來自SQL Server 2000的樣例數據庫Northwind,Northwind是一家虛構的公司,從事世界各地的特產食品進出口貿易。Northwind數據庫包含有這家公司的銷售數據,數據內容多,數據量大,數據結構貼近企業的真實數據,符合實驗要求[5]。實驗包含4個步驟:(1)理解業務數據,確定分析主題。Northwind數據庫中的表非常多,需要理清各關系表的內容及其相互間的關聯,在此基礎上確定感興趣的主題;(2)圍繞分析主題,將主題相關的關系表通過企業管理器中的DTS進行清洗和轉換,為數據倉庫提供合適的數據;(3)使用Analysis Server向導,建立多維數據集;(4)基于構建好的多維數據集,對數據進行切片、切塊、鉆取、聚合和旋轉等各種OLAP分析操作。
第二至第四個實驗項目均是基于Clementine12.0等數據挖掘工具,通過構建數據挖掘模型分析具體商業問題。其中,第二個實驗項目為關聯挖掘的綜合實踐,要求學生運用關聯挖掘經典算法Apriori分析移動產品交叉銷售;第三個實驗項目為分類挖掘的綜合實踐,要求運用決策樹算法進行電信客戶流失分析;第四個實驗項目為聚類挖掘的綜合實踐,要求運用聚類經典算法K-means進行電信客戶細分分析。上述三個綜合實驗項目都要求學生首先能夠分析具體應用問題,然后進行數據預處理、構建數據挖掘模型,并對挖掘結果進行分析和討論,以鍛煉學生數據挖掘的思維體系和數據分析能力。
5 教學方案實施
在教學方案實施過程中,著重營造活躍的課堂教學氛圍,重視對課后作業的指導,以期提高課堂教學效果。考慮到經管類專業本科生的知識背景和本門課程的特點,在每次課堂上都會拋出一個思考題,要求學生們運用所學理論聯系身邊實際展開討論。例如,在介紹完第一章后設計了一個討論題:如何運用數據挖掘幫助電信企業提高競爭優勢?學生討論得很熱烈,也得出了多個答案。由于本門課程課堂講授學時較少,為了幫助學生復習、鞏固及應用所學內容,課程每章節后都安排了課外作業,并就其中的難點進行指導和講解。實驗過程中,著重培養學生的獨立性和數據分析能力。首先向學生講授清楚實驗具體要求和注意事項,然后放手讓學生自己去做,遇到問題先鼓勵學生自己思考解決,實在有困難再稍加指點。實驗結束后,要認真分析實驗結果,完成實驗報告。選擇實驗數據時要考慮到數據是否符合現實情況且能夠突出所分析的問題。除實驗以外,其它實驗項目均采用SPSS產品培訓過程中所用的相關數據,數據量大小適中,適合在實驗課上使用,而且這些數據與真實數據的差異小,有助于提高學生解決現實問題的能力。數據挖掘課程的教學方案已實踐了5年,其間不斷進行經驗總結和探索,無論從近幾年選修本門課程的學生人數還是從課堂上學生的反映和學習氣氛看,本門課程都取得了很好的課堂教學效果。
6 結束語
數據挖掘作為一門技術性和應用性較強的課程,對優化經管類專業本科學生的知識結構、擴展學生的專業應用領域有著重要的作用。筆者結合自己的教學經驗,對經管類專業本科生數據挖掘課程的教學內容和實驗環節等方面進行了積極的教學探討和實踐,學生反映非常好。在今后的教學工作中,要不斷實踐,不斷總結,進而不斷改進和提高數據挖掘課程的教學質量。
參考文獻
[1]劉云霞.統計學專業本科生開設“數據挖掘”課程的探討[J].吉林工程技術師范學院學報,2010,26(6):20-22.
[2]李志勇,王翔,喻軍.信息管理專業數據挖掘課程教學探討[J].管理工程師,2012,(4):66-68.
[3]劉昆宏.淺談本科階段數據挖掘課程設置[C]//In Proceedings of 2010 Third International Conference on Education Technology and Trainning,Wuhan,2010:4-5.
基金項目:上海市信息安全綜合管理技術研究重點實驗室開放課題項目(AGK2009004)。
作者簡介:趙躍華(1958-),男,江蘇蘇州人,教授,博士,主要研究方向:信息理論與安全、通信安全; 張翼(1985-),男,江蘇姜堰人,碩士研究生,主要研究方向:信息安全、網絡對抗; 言洪萍(1985-),男,江蘇常州人,碩士研究生,主要研究方向:計算機病毒與反病毒、驅動開發與防火墻。
文章編號:1001-9081(2011)07-1901-03doi:10.3724/SP.J.1087.2011.01901
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212013)
()
摘 要:惡意代碼大量快速的繁衍使得惡意代碼自動化檢測成為必然趨勢,加殼程序識別是惡意代碼分析的一個必要步驟。為識別加殼可執行程序,提出一種基于數據挖掘技術的自動化加殼程序識別方法,該方法提取和選取可移植可執行(PE)特征,使用分類算法檢測PE文件是否加殼。測試結果表明,在使用J48分類器時加殼文件識別率為98.7%。
關鍵詞:可移植可執行文件分析;加殼識別;數據挖掘
中圖分類號:TP309.5文獻標志碼:A
Classification of packed PE files based on data mining
ZHAO Yue-hua,ZHANG Yi,YAN Hong-ping
(Department of Computer Science and Communication Engineering, Jiangsu University, Zhenjiang Jiangsu 212013, China)
Abstract: The proliferation of malicious code makes automatic malicious code detection an inevitable trend. Packed Portable Executable (PE) files identification is a necessary step of malicious code analysis. The paper presented an automatic identification method based on data mining, through which feature was extracted from PE files. The paper used classification algorithms and selected features to detect packed PE files. The test results show that the identification rate is 98.7% when using J48 classifier.
Key words: Portable Executable (PE) file analysis; packing detection; data mining
0 引言
近年來,惡意代碼數量劇增,而惡意代碼作者對惡意代碼的保護也逐漸增強,多態、加殼等方法的運用使得惡意代碼識別更加復雜,依靠傳統方式分析惡意代碼已經無法跟上病毒發展速度,因此惡意代碼的自動化識別被提上了日程,其中惡意代碼加殼[1-2]的識別是一個必要步驟。
現在的加殼PE(Portable Executable)文件檢測手段主要有三種主要方式。第一種是特征碼匹配,常見的工具如PEID[3],它可以識別上千種加殼程序,這些查殼工具對惡意代碼加殼識別率很低,需要事先添加各種殼的特征到特征庫中,常常滯后于殼的發展,因而無法識別新的或者少見的加殼程序特征。第二種是PE文件信息熵,Lyda等人[4]提出一種信息熵方式檢測加殼PE文件,其原理是加殼后的PE文件相對未加殼的混亂度增加,導致部分節的熵值增高,通過計算PE文件各個部分數據的信息熵,然后根據熵值判斷病毒文件是否加殼,但是作者對整個PE文件計算熵,這并不能最明顯地反映其熵值變化。第三種方法使用PE文件頭部屬性,文獻[5]提出一種新型的殼檢測工具,利用加殼前和加殼后的PE文件頭部屬性不同來判斷文件是否加殼,實驗表明它的殼檢測實時性較高,但對于偽裝殼的誤報率和漏報率較高。
現在的研究中對PE文件結構信息使用較少,本文將充分發掘PE結構特征,并將各項特征去除冗余和加以整理,最后利用數據挖掘方法檢測加殼文件,得到了較好的分類效果。
1 特征抽取和篩選
1.1 特征抽取
PE文件格式是Windows平臺上可執行文件的標準格式。在Windows系統中以EXE、DLL、OCX、SYS為后綴名的文件都是PE文件。加殼一般是對PE文件進行加密或壓縮的過程。加殼后PE文件與原文件有很大的區別,但是仍然遵循PE文件格式。
圖1 PE文件格式
如圖1所示,PE文件包含了一個PE文件頭,一個節表,然后是節表中所指向的節。PE文件頭包含MS-DOS樁、PE標簽、COFF頭(Common Object File Format)和可選頭。可選頭包含了PE文件的重要信息,包括節的個數、堆棧大小等。節表中包含節的大小、名稱等。這些節的內容包括代碼、資源、數據等。本文根據對殼的先驗知識,選取表1中的部分PE結構信息作為初選特征。
表1 PE文件可用分類特征
1.2 特征選擇
PE結構信息中包括了大量信息,其中大部分不能用于識別加殼PE文件。為了提高挖掘的工作效率和準確率,需要將冗余信息去除。在本文中引入冗余特征消除的算法――主成分分析(Principal Component Analysis,PCA)[6-7],它將多個變量通過線性變換以選出較少個數重要變量的一種多元統計分析方法。
該方法的最優性是從N個訓練樣本中提取m個主要特征,來達到降維的目的。假設n個d維的原始樣本x1,x2,…,xn,組成一個矩陣X(d*n)其中X的每一列為一個樣本,主成分分析按照式(1)中的線性變換把X投影到低維空間中的向量Y。
YWTX(1)
式中W(d*d′,d′d),Y(d′*n)為經過PCA變換后的樣本特征。
首先求得樣本均值u,并按照式(2)協方差矩陣ST。
ST∑Ni1(xi-μ)(xi-μ)T(2)
然后按照式(3)計算ST的特征值ei,并由大到小排序。
λieiSTei; i∈[1,N](3)
最后選擇前d′個特征值對應的特征矢量作為變換矩陣W[e1,e2,…,ed′]。
本實驗中使用向量空間模型來格式化數據,每個程序被定義為一個64維向量。提取所有的程序向量建立一個矩陣,使用PCA算法得到11個特征的主成分系數大于87%,可以移除其余53個冗余特征。
接下來把這11個特征深入分析,根據實際意義格式化特征向量。
1)在默認條件下,編譯器生成的PE文件會有調試信息,但是加殼文件中基本不存在調試信息。
2)加殼PE文件的引入函數相對較少,并且都會有GetProcAddress和LoadLibrary這兩個函數。
3)文獻[4]中使用整個PE文件的信息熵來判斷PE文件是否加殼,而根據本文統計得到的數據來看,加殼和未加殼PE文件的熵值區間有很大的交集,而在統計數據中發現加殼后的PE文件入口點所在節的熵平均值遠遠高出未加殼PE文件入口點所在節的熵平均值,兩個熵值區間相對獨立,但是仍然存在部分特殊的PE文件的入口點所在節表熵值異常,所以入口點所在節的熵值不能作為唯一的判斷依據,如圖2,通過計算得出加殼PE文件的入口代碼段平均熵值為7.57,而未加殼PE文件平均熵值為5.78。
4)節屬性。在未加殼的PE文件中,代碼段的屬性沒有可寫(IMAGE_SCN_MEM_WRITE)的屬性,而在加殼PE文件中,殼的加載器需要在內存空間中恢復代碼,所以加殼PE文件中代碼段有可寫屬性。另外,加殼PE文件的其他非代碼節也多為可寫屬性。
5)節長度。編譯器默認情況下生成的PE文件中不存在長度為0的節,而在統計中發現被加殼的PE文件多數存在長度為0的節。
6)另外,編譯器生成的PE文件節名固定,經過加殼的文件會出現非可見字符或其他的節名,特殊的節表名稱等其他屬性都可以作為判斷的依據。
圖2 加殼PE文件與未加殼文件熵值分布
通過整理,得到了表2中列出的各項特征。
表2 篩選整理后PE特征描述
將每個PE文件用一個向量VPE表示,其中A12packed用于標識文件是否加殼,VPE定義如下:
VPE(A1DebugInfo,A2ImportTableSize,A3EntrySectionEntropy,
A4SectionNameVisible,A5SectionAttribute,A6ExecutableData,
A7SectionNameAbnormal,A8NoCodeSection,A9EntryPointNotInCodeSection,
A10SumSizeOfRawData!SizeOfCode,A11PEOffset,A12packed)
按照以上向量定義格式化所有實驗數據,使其符合數據挖掘工具要求,表3中給出了以上向量的部分實例。
表3 部分實驗數據
2 驗證分析
實驗使用的數據集包括5578個PE文件信息,其中包括從vx heavean[8]獲取的2855個加殼PE文件和從Windows XP系統中獲取的2723個未加殼PE文件。為了獲取PE特征,使用pefile[9]提供的python庫開發了PEWalker,PEWalker可以獲取包括PE文件中的結構信息、字符串信息、各節表的信息熵等。實驗使用Knime[10]作為數據挖掘平臺,Knime提供了SVM、Naive Bayes、MLP、J48等分類算法,由于篇幅所限,本文只給出J48分類器的流程。
實驗中把PE特征數據集分為不相交的訓練集Straining和測試集Stest兩部分,其中Straining∩ StestВ另外將訓練集劃分為加殼程序集Spacked和未加殼程序集Sunpacked,且Spacked∪ Sunpacked Straining,Spacked∩ SunpackedВ
1)訓練集,包含1800個加殼PE文件和1600個未加殼PE文件;2)測試集,包含1055個加殼PE文件和1123個未加殼PE文件。
表4中測試結果表明,相對于Native Bayes、MLP、SVM等分類器,J48分類器有較好的識別率和誤報率,對殼的識別準確率達到了98.7%,可以對加殼PE文件作出有效判斷。
圖3 Knime搭建的分類工作流程
表4 測試結果
通過圖4的ROC(Receiver Operating Characteristic)曲線可以看出在本實驗中MLP和SVM分類器得到了相近的分類效果,而Naive Bayes分類效果最差。J48分類器在誤報率為0.3%時得到了最好的檢測效果。
圖4 誤報率和檢測率
以下為J48分類器中的部分分類規則:
If DebugInfo1 and ImportTableSize > 36 and
ExecutableData0 :UnpackedFile
If SectionNameVisible0 and SectionNameAbnormal1 and
SectionAttribute 1 :PackedFile
If EntrySectionEntropy > 5.8 and
EntryPointNotInCodeSection 1:PackedFile
3 結語
本文對加殼PE文件進行深入研究,使用PE文件中的調試信息、節屬性等結構信息作為特征,并使用SVM、Naive Bayes、MLP、J48等分類算法,實驗表明J48分類器在檢測加殼PE文件得到了較好的檢測效果,彌補了基于特征碼的PE文件加殼檢測的不足,目前的缺點是不能檢測殼的種類。后期的工作是進一步提高檢測率,降低誤報率,增加殼類型檢測功能,并利用導出的語義化規則建立加殼PE文件檢測系統。
參考文獻:
[1] 于淼,孫強.對加殼技術的改進:超粒度混雜技術[J].計算機應用,2004,24(8):137-139.
[2] 龐立會.PE文件動態加殼技術的研究與實現[J].計算機工程,2008,34(19):166-168.
[3] PEID.[CP/OL]. [2010-12-05]. peid.info.
[4] LYDA R, HAMROCK J. Using entropy analysis to find encrypted and packed malware[J]. IEEE Security and Privacy, 2007,5(2):40-45.
[5] CHOI Y S, KIM I K. PE file header analysis-based packed PE file detection technique[C]// Proceedings of International Symposium on Computer Science and Its Applications. New York: IEEE, 2008:28-31.
[6] 王正群,鄒軍,劉風.基于集成主成分分析的人臉識別[J].計算機應用,2004,28(1):120-124.
[7] 朱明旱,羅大庸,易勵群.一種廣義的主成分分析特征提取方法[J].計算機工程與應用,2008,44(26):38-40.
[8] VX Heavens [EB/OL]. [2010-12-05]. .
關鍵詞:成績分析;數據挖掘;關聯規則
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1674-7712 (2013) 20-0000-01
隨著高職院校的不斷擴招,生源質量在下降,生源的數量也在逐步出現萎縮。在這種情況下,如何有效的利用現有的教學資源,改善教學質量,使人才的培養質量得到進一步的提高,在逆境中成長,是每一所高職院校面臨的重大挑戰。
目前各個高職院校的教務管理基本上都是采用基于數據庫的教務管理系統軟件。教務軟件在這么多年的應用中積累了大量的數據,學生的成績信息在教務軟件的數據庫中就大量的存在。一般情況下,成績數據僅僅只是作為一種備份數據存放于數據庫中,大部分只是進行簡單的查詢修改操作等,對于數據之間潛在的聯系,影響成績的因素等這些信息,我們卻無從得知,并沒有做到充分的利用這些數據。
利用數據挖掘技術,我們可以從這些成績數據中挖掘出可以指導我們教學的,有意義的信息,主要表現在:(1)可以全面地認識學生的學習狀況。對學生學習成績的全面分析,不僅能夠獲得學生學習的整體情況,還可以了解學生對具體課程內容的掌握情況。(2)可以分析課程之間的相關性。分析各個專業的核心課程,可以了解學生對這些課程的理解情況,以及學生在這些課程中的得分情況,找出課程之間的聯系,還可以對排課情況進行指導。(3)可以分析入學成績對在校學習情況的影響。跟蹤學生在本專業的學習情況,結合入學的成績,找出入學成績對專業相關課程的影響情況,從而指導學生的專業學習。
一、數據挖掘的概念與技術
(一)什么是數據挖掘。數據挖掘是一門涉及面很廣的交叉學科,受到了各種不同領域的專家學者的關注,關于數據挖掘的定義也有非常多種,但歸納起來數據挖掘主要就是從大量的沒有經過處理的數據中發現未知的有價值的規律的過程。
(二)數據挖掘的過程。數據挖掘的過程一般由五個階段組成:(1)定義問題,明確數據挖掘的目的是什么。(2)數據準備,包括要選擇什么樣的數據以及對選擇到的數據如何進行預處理等。(3)數據挖掘,根據數據的特點,選擇合適的數據挖掘算法,在已經處理過的數據上進行數據挖掘。(4)結果分析,對數據挖掘的結果進行合理的解釋,給出能夠被用戶所接受的知識。(5)知識運用,將數據挖掘出來的結果應用到相應的領域中。
數據挖掘的過程并不是一個簡單的按流程完成任務的過程,在數據挖掘的過程中往往會出現循環往復,精益求精的過程。例如,在任務過程中發現之前選擇的數據不是很好或者對數據的預處理沒有達到我們的效果,那么這個時候我們就需要重新對數據進行選擇或者重新對數據進行處理,直到達到我們的效果。
(三)常用的數據挖掘方法。數據挖掘技術是一門交叉學科,充分結合了人工智能與機器學習的特點,因此如聚類分析,決策樹,統計分析等在機器學習,模式識別,人工智能等這些領域中的一些常規技術經過改進,大部分都可以作為數據挖掘的方法進行使用。模糊集方法,關聯規則方法,遺傳算法,神經網絡方法,覆蓋正例排斥反例方法,決策樹方法,統計分析方法和粗集理論方法等都是數據挖掘技術中常用的方法。
二、成績分析中的數據挖掘方法
成績分析中主要是采用關聯規則算法作為數據挖掘的方法。關聯是指兩個或兩個以上的事務間存在著某種的規律性,數據關聯是數據庫中普遍存在的可被發現且重要的知識。關聯規則算法就是從大量的數據中找出隱藏在其中的關聯數據的一種算法。把關聯規則算法應用于成績分析中,主要是要從這些成績數據中找出他們之間存在的關聯關系,找出影響成績變化的因素,分析入學成績對在校成績的影響主要體現在哪些方面,以及針對試卷中的得分情況,對學生容易失分的知識點進行總結,還能夠得出課程之間的相關性分析。
以下是與關聯規則挖掘中需要特別注意的幾個概念:(1)關聯規則。關聯規則是表示成XY的一個蘊含式,其含義為如果X在一個事務中出現,那么Y肯定也會在出現在同一個事務中,X就稱之為條件,而Y就為這個規則中的結果。(2)置信度和支持度。XY的置信度指的是同時包含X和Y的事務數與只包含X的事務數的個數的比值。XY的支持度指的是同時包含X和Y的事務數與事務總數的比值。置信度與支持度主要是為了驗證規則的可靠性與可用性。(3)最小置信度和最小支持度。最小置信度和最小支持度是關聯規則中依靠的兩個主要的評估準則。這兩個數值都是由用戶定義的。最小置信度表示了關聯規則中必須滿足的最低可靠度,。最小支持度則是表示數據集在統計過程中必須滿足的一個最低程度。而支持度只要比最小支持度大的非空集合我們都稱之為頻繁項集。(4)強關聯規則。強關聯規則就是同時滿足最小置信度和最小支持度的規則。
三、關聯規則挖掘過程
利用關聯規則進行數據挖掘的過程從本質來上說是找尋強關聯規則的過程,主要通過以下兩個階段來實現:(1)分析識別數據庫中的頻繁項集。在數據挖掘之前,先定義出最小支持度,再根據這個最小支持度,從原始數據集合中找出支持度不小于最小支持度的項集,即頻繁項集。(2)強關聯規則的產生。利用(1)中所產生的頻繁項集,來產生規則,這個規則必需滿足的條件是其置信度要大于或者等于最小置信度
四、結語
成績作為現代高職院校管理系統的一個重要組成部分,要充分利用起來,才能更好的指導教學,改善教學質量,提高人才培養的水平,提升學校聲譽。通過對海量的成績數據進行數據挖掘,可以更好的獲得相關數據之間的關聯關系,提高了成績分析的效率,保證了成績分析的科學性。
參考文獻:
[1]楊曉,張迎新.Apriori算法在消費市場價格分析中的研究與應用[J].北京工商大學學報(自然科學版),2009(3).
[2]唐新宇,陳曉明.最小支持度在教學質量評價系統中的數據挖掘應用[J].計算機與現代化,2012(8).
[3]韓家煒,堪博.數據挖掘概念與技術[M].北京:機械工業出版社,2007.
對很多培養機構而言,目前急需解決的問題主要有:如何根據不同成員需求設置合理的課程、如何通過教學方式提高成員學習積極性、如何提高成員培訓效果、如何通過考核檢驗成員學習成果等,都是培養機構發展過程中必須面對的問題。隨著我國信息化進程的加快,一些培養機構也開始進行信息化建設,通過信息系統對培訓相關事宜進行管理。但目前在針對培養機構的信息系統中,所實現的功能和模塊是進行簡單的查詢、統計。在了解培訓評估效果時,目前的信息系統中,學員通過系統對不同課程的教師進行打分,系統自對進行匯總、統計,得出教師評價。但這種匯總、統計是最簡單的,對教師評價也缺乏全面性和深度。
2數據挖掘在培訓管理系統中的應用
大數據時代下,數據信息呈現出海量特點。如何從海量、不完全的信息中尋找到真正有用的信息,是大數據時代中重要的問題。由此便利用到數據挖掘,顧名思義,數據挖掘就是從眾多數據信息中尋找到有用、有價值的信息。大數據時代下,教育行業中,信息量也是海量的,要想提高教學質量就需要運用數據挖掘找尋到有用的教育信息,并運用到實際教學中。信息系統通過一段實際應用后,里面存儲了大量數據,相應的,學習管理系統也是如此,里面蘊含了大量數據信息。如在線課程等功能中藏有大量師生應用過程中的數據資料。如圖1為數據挖掘在培訓管理中的流程圖。
2.1初步探索
培訓管理系統中一般具有數據統計功能,將相關事宜進行統計。如網絡課程開展過程中,數據挖掘在培訓管理系統中的應用文/張宏亮在大數據時代,如何使用現有的數據對學員進行培訓管理,從而提高培訓效率是當前培訓管理中所面臨的問題。本文分析了數據挖掘在培訓管理中的應用主要表現在初步探索、數據預處理以及數據挖掘過程。其中數據預處理和數據挖掘是培訓系統的核心功能。
2.2數據預期處理
數據預處理時,原始數據庫會發生轉變,以適應數據挖掘、數據挖掘算法等的要求。在處理結構化的數據時,數據預處理需要完成兩項任務,即消除數據缺陷現象的存在和為數據挖掘奠定良好基礎。數據處理是對現有的數據進行前期處理,方便后期數據挖掘。如圖2為培訓管理系統中數據預處理模塊。
2.3數據挖掘
WangJ開發了一個將數據挖掘技術與基于模擬的培訓相結合的混合框架,以提高培訓評估的有效性。以信仰為基礎的學習概念,用于從知識/技能水平和信心水平的兩個維度來評估學員的學習成果。數據挖掘技術用于分析受訓人員的個人資料和基于模擬的培訓產生的數據,以評估學員的表現和學習行為。提出的方法論以臺灣基于模擬的步兵射擊訓練的實例為例。結果表明,提出的方法可以準確地評估學員的表現和學習行為,并且可以發現潛在的知識來提高學員的學習成果。BodeaCN使用數據挖掘技術進行了培訓學習管理,用于分析參加在線兩年制碩士學位課程項目管理的學生的表現。系統數據來源是收集學生意見的調查數據,學生記錄的操作數據和電子學習平臺記錄的學生活動數據。
3總結
目前培訓機構在進行教學評估時,所選擇的指標都是參考其他機構的,并沒有真正從自身實際出發進行評估,因此教學評估時存在諸多問題。其中最明顯的兩個問題是:第一教學評估方式單一化嚴重,只以數字評估為主;第二評估時容易受各種主觀因素影響。
作者:張宏亮 單位:承德市統計局
參考文獻
[1]菅志剛,金旭.數據挖掘中數據預處理的研究與實現[J].計算機應用研究,2004,21(07):117-118.
[2]王全旺,趙兵川.數據挖掘技術在Moodle課程管理系統中的應用研究[J].電化教育研究,2011(11):69-73.
關鍵詞:web數據挖掘 智能選課系統 學生培養
中圖分類號:TP312 文獻標識碼:A文章編號:1007-3973 (2010) 02-068-03
1引言
隨著教育信息化得發展,越來越多的高校開始使用智能系統對數據庫進行管理,有利于實現對蘊含在數據里的信息進行挖掘,為相關工作提供理論依據。傳統的選課系統是教師按照專業進行劃分,學生只能在專業相關的層次上對學習的課程進行選擇。而智能選課系統改變了傳統的選課模型,能根據學生的不同興趣和特點提供相應的學習課程選擇,能充分體現出因人施教。文章把web數據挖掘技術應用到智能選課系統的模型構建中,利用關聯規則發現學生的學習興趣和特點,給出相應的學習課程選擇,這將為高校針對性的對人才培養提供一個方法。
2數據挖掘的基本原理方法
數據挖掘是一種決策支持過程,主要基于人工智能、機器學習和統計學技術,從數據庫的大量數據中提取出隱含的、先前未知的、有應用價值的、非平凡的模式。其中,模式指數據庫之間的邏輯關系;而非平凡指在知識的發現過程中具有的不斷定性和一定的自由度 。數據挖掘的過程主要分為三步:數據預處理、數據挖掘及結果的分析和評估 。數據預處理是數據挖掘過程中一個很重要的步驟,尤其是在對含有噪聲、不完整、甚至不一致的數據進行數據挖掘時,需要進行數據預處理以提高數據的質量,并最終達到提高數據挖掘所獲模式知識質量的目的。數據挖掘首先要確定挖掘的任務和目的,確定挖掘任務后,就要決定用什么樣的挖掘算法。選擇算法有兩個考慮的因素:一是不同的數據有不同的特點,因此要用與之相關的算法來挖掘;二是要根據用戶和實際運行系統的要求。在結果的分析和評估中,對一些可能存在的冗余或無關的模式,要將其剔除。如果挖掘出來的模式不符合用戶要求,則需要重新選擇數據,采用新的數據變換方法,換用新的參數值。數據挖掘的具體步驟如圖1所示。
圖1 數據挖掘步驟
Web數據挖掘是數據挖掘技術在web環境下的應用。它所處理的對象包括:靜態網頁、web數據庫、web結構和用戶記錄信息等。一般基于web的數據挖掘主要分為三類:(1) web內容挖掘。對文檔的內容進行挖掘或提取關聯信息,并對文檔的內容進行總結和概括。(2)web結構挖掘。從站點組織結構和頁面結構中推導出知識,對web頁面間的結構進行挖掘,找出數據鏈的結構進行分類、聚類,從而發現頁面間的關系,找出重要的頁面。(3) web使用記錄挖掘。通過分析web服務器上的日志文件,從而挖掘出用戶訪問web的興趣模式,分析用戶行為的意義 。
Web數據挖掘的系統框圖如圖2所示,系統大致可分為四個模塊:數據收集模塊(服務器端數據、客戶登記信息)、數據預處理模塊、模式規則選擇模塊和應用接口模塊。模式收集模塊負責收集服務器端的數據和客戶登記資料,然后以文本的方式將收集的結果返回;數據預處理模塊對返回的信息進行預處理,去除信息冗余;模式規則選擇模塊則是從各個站點或站點間獲取通用模式,同時還對獲取的模式負責解釋 。
圖2Web數據挖掘系統框圖
3智能選課系統模型構建與分析
構建的智能選課系統模型如圖3所示:
圖3智能選課系統模型
其中,學生信息庫,用于記錄學生的學習行為興趣;學習課程推理機,通過人機交互,從學生信息庫中獲得信息,啟動推理系統工作,為學生提供合理的選課課程范圍。信息挖掘模塊,用于控制、協調整個智能選課系統,用于描述關聯、聚類分析等數據挖掘的方法并根據當前數據庫中學生信息應用知識庫中知識,按確定的推理規則進行推理,對學生的信息進行分析,從而給出學生選修學習課程的范圍。領域知識庫,用于存放相關知識的課程。
圖4學生選課流程
Web數據挖掘技術在智能選課系統中的具體應用主要有:
(1)利用人工神經網絡挖掘學生信息庫中學生對以前課程學習的知識點的理解程度。人工神經網絡在結構上模仿生物神經網絡,是一種通過訓練來學習非線性預測的模型。這個算法的學習過程,由正向傳播和反向傳播組成,在正向傳播過程中,輸入信息從輸入層經隱單元層逐層處理,并傳向輸入層,每一層神經元的狀態只影響下一層神經元的狀態。如果在輸出層不能得到期望的輸出,則轉入反向傳播,將誤差信號沿原來的鏈接通路返回,通過修改各層神經元的權值使得誤差信號減小,然后在轉入正向傳播過程,反復迭代,直到誤差小于給定值 。
(2)利用聚類分析對學生的學習興趣和特點進行分類。信息挖掘模塊從學生信息庫中抽取學生特征,按照學生的學習興趣進行分類,并賦予每個學生類標記,然后根據記錄里每類學生的特點,給出相應的選修課程范圍。聚類分析是數據挖掘中一種非常重要的技術和方法,聚類就是將一組相關集合按照某種相似度函數或相似性準則劃分成若干類別,使同一類別個體之間的差異達到最小化,不同類別之間的差異達到最大化。聚類分析的問題可描述為:給定m維空間Rm中的n個各向量,把每個向量歸屬到S個聚類中的某一個,使得每個向量與其聚類中心的距離最小。聚類分析的實質是一個全局優化問題。此外,m可認為是樣本參與聚類的屬性個數,n是樣本個數,S是由用戶預先設定的分類書目或聚類個數 。
按照聚類結果表現方式的不同,聚類分析算法可以分為:基于群的聚類算法――這種算法可看做進化計算的一個分支,它模擬了生物界中蟻群、魚群和鳥群在覓食和逃避敵人時的行為;基于粒度的聚類算法――聚類是無導師的學習,聚類的目的是發現樣本點之間最本質的抱團性質的一種客觀反映,聚類的操作是在一個統一的粒度下進行計算的;基于模糊的聚類算法――模糊聚類分析具有描述樣本類屬中間性的優點,能夠客觀反映現實世界,人類大多用一些模糊的詞語來交流思想互通信息,然后進行推理分析、綜合判斷,最后做出決策。人們對客觀事物的識別往往通過一些模糊信息的綜合,來獲得足夠精確的定論 。
(3)利用關聯規則發現學生的學習興趣特點,進行相應的課程推薦。關聯規則挖掘是從數據庫中挖掘出那些支持度和置信都大于用戶指定的最小支持度和最小置信度的關聯規則。設I={i1,i2…,im}是由m個不同的項目組成的集合,D是針對I的事物集合,每一筆事物包含若干項目ii,ij,…,ikI。關聯規則表示為XY,其中XI,YI,并且XY。X稱作規則的前提,Y是結果。一般把一些項目的集合稱作項目集。在項目集中項目的數量叫做項目集的長度。關聯規則XY成立的條件是:(1)它具有支持度s,即事物數據庫D中至少有s%的事物包含X和Y;(2)它具有置信度c,即在事物數據庫D中包含X的事物至少有c%同時也包含Y 。
關聯規則的挖掘是一個兩步的過程:(1)所有頻繁項集。根據定義這些項集出現的頻繁性至少與預定義的支持計數一樣;(2)頻繁項集產生強關聯規則。根據定義,這些規則必須滿足最小置信度和最小支持度。
對關聯規則的評價主要從兩個方面進行:(1)系統客觀層面――是指關聯規則的有趣性是規則的具體結構和在數據挖掘過程中所依賴的數據決定的。支持度和可信度度量是系統客觀層面評價關聯規則的兩個常用客觀性指標;(2)用戶主觀的層面――只有用戶才能決定規則的有效性和可行性,所以應該將用戶的需求與系統更加緊密集合起來,形成用戶主觀層面的評價。可采用基于約束的數據挖掘方法,具體的約束內容有數據約束、限定數據的挖掘維和層次和規則約束 。
4智能選課系統關鍵算法實現
挖掘模型主要分為算法實現庫、挖掘配置、知識庫和數據呈現四個功能實體,且每個功能實體都以動態鏈接庫的方式。
聚類K-means算法實現如下:
Procedure K-means(s,k)
S={X1,X2,…Xn}
m=1;
for j=1 to k//初始化聚類中心Zj
Do {for i=1 to n
for j=1 to k
{D(Xi,Zj)=|Xi-Zj|;
If D(Xi,Zj)=Min{D(Xi,Zj)}then Xi∈Cj}//歸類
If m=1 then Jc(m)=∑kj=1∑|Xi-Zj|2
m=m+1;
for j=1 to k
Zj=()/n; //重置聚類中心
While |Jc(m)-Jc(m-1)|>
其中Xi為n個輸入數據對象的集合;輸出為K個聚類中心Zj及K個數據對象集合Cj。
關聯規則的數據挖掘Apriori算法實現如下:
Input: 學生信息數據庫D;
最小支持度 min_sup;
Output: 所有頻繁項目集;
C1={candidate k-itemset};
L1={c∈C1|c.count≥min_sup};
for{k=2, Lk-1≠,k++}do begin
Ck=sc_canditate(Lk-1); /*生成所有長度為k的候選項目集*/
for all transactions t∈D do begin
C1=count_support(Ck,t);/*求數據庫記錄t包含的候選項目集*/
For all canditates c∈C1 do
c.count++ /*候選項目集支持度計數加1*/
end
Lk={c∈Ck|c.count≥min_sup};
end
Answer=UkLk
該算法利用一個層次順序搜索的循環方法來完成頻繁項集的挖掘工作。其中D表示數據庫;k-itemset表示長度為k的項目集;Lk表示長度為k的頻繁項目集;Ck表示長度為k的候選項目集;min_sup表示給定的最小支持度;Answer表示所有的頻繁項目集。
5結語
基于web數據挖掘技術的智能選課系統采用聚類分析、關聯規則、人工神經網絡等方法,能從學生的訪問、學習記錄和測試中挖掘出有用信息,評估出學生的學習興趣和特點,給出相關的頁面和選修課范圍,這樣可以提搞學校教務選課系統的服務水平,為系統的決策提供智能化手段,也為高校合理的培養人才提供了一個方法。
(基金項目:湖南科技學院2008年科研項目(08XKYTC041)資助)
注釋:
Borges J., Levene M.. Data mining of user navigation patterns[C]. Proceedings of workshop Web usage Analysis and user profiling. San Diego,2000, pp:31-36.
Jiawei H., Micheline K.. Data Mining: Concepts and Techniques[M]. San Francisco: Diane Cerra, 2006.
韓曉莉,李秉智.個性化Web推薦服務研究[J].計算機科學[J],2006,33(4):135-138.
趙東東.電子商務中的web數據挖掘系統的設計[J].微計算機信息,2007,10(3):168-170.
徐欣,徐立鴻.教學質量評價與預測的人工神經網絡方法[J].統計與決策,2009,20:159-160.
劉立軍,周軍,梅紅巖.Web使用挖掘的數據預處理[J].計算機科學,2007,34(5):200-204.
李明華,劉全,劉忠等.數據挖掘中聚類算法的新進展[J].計算機應用研究,2008,25(1):13-17.
高校在長期的教學管理過程中積累了海量的學生成績信息,但是普遍的對于成績的分析處理工作還停留在簡單的查詢、分析和統計階段。本文利用關聯規則Apriori算法,以學生成績數據為研究對象,挖掘課程之間的相互關系,為科學的制定人才培養方案,提高高校人才培養質量進行了積極地探索與研究。
【關鍵詞】成績分析 關聯規則 Apriori算法
1 數據挖掘
數據挖掘其實就是從大量、有噪聲、隨機性、不完全、模糊的應用數據中,提取并隱藏在應用數據中心、人們不知道但是有價值的信息和知識的過程,通過數據挖掘系統能夠自動分析原有數據,并作出歸納總結,挖掘出數據原有的模式,為決策者提供參考價。數據挖掘包括數據倉庫、預處理、分類聚類、關聯分析等。關聯分析是數據挖掘最貼近我們生活的一部分了,登錄亞馬遜網站,當我們挑選一本《Android4高級編程》時,網站會不失時機的列出你可能還會感興趣的書籍,如Android游戲開發、Cocos2d-x引擎等,讓我們的購物車變得更充實,而錢包又空了些。
數據挖掘是一門綜合了統計學、信息技術、人工智能等多項技術。其中數據挖掘聚類和決策樹則是機器學習理論知識。關聯性規則挖掘技術對數據挖掘技術具有非常重大的意義,它進一步擴展了數據挖掘的研究,到如今已經成為了數據挖掘領域中的一個分支。關聯性規則不僅體現數據之間的關聯,更為重要的是關聯系規則的表達簡潔,便于理解,近年來已經成為數據挖掘技術研究領域的熱點話題。
2 關聯規則Apriori算法
Apriori算法是關聯規則算法之一。Apriori算法的第一遍僅僅計算每個項目的具體指的數量,以確定大型1項集。隨后的遍歷,第k次遍歷,包括兩個階段。首先,使用在第(k-1)次遍歷中找到的大項集Lk-1和Apriori-gen函數產生候選項集。接著掃描數據庫,計算中候選的支持度,從而得到中的支持度不小于最小支持度的k階大項集。重復以上步驟,直到某一階的大項集為空時,算法停止。
Apriori算法指導我們,如果要發現強關聯規則,就必須先找到頻繁集。所謂頻繁集,即支持度大于最小支持度的項集。如何得到數據集合D中的所有頻繁集呢?
用一種非常原始的辦法來分析,就是對于數據集D,遍歷每一條記錄T,可以得到T的所有子集,然后計算每一個子集的支持度,最后再將結果與最小支持度比較。我們暫且不管數據集D中有多少條記錄,就說每一條記錄T的子集個數,{1,2,3}的子集有{1},{2},{3},{1,2},{2,3},{1,3},{1,2,3},即如果記錄T中含有n項,那么它的子集個數是-1。計算量是非常大的,很明顯這種方法是不可取的。
因此,Aprior算法提出了一個逐層搜索的方法,如何逐層搜索呢?包含兩個步驟:
(1)自連接獲取候選集。第一輪的候選集就是數據集D中的項,而其他輪次的候選集則是由前一輪次頻繁集自連接得到(頻繁集由候選集剪枝得到)。
(2)對于候選集進行剪枝。如何剪枝呢?候選集的每一條記錄T,如果它的支持度小于最小支持度,那么就會被剪掉;此外,如果一條記錄T,它的子集有不是頻繁集的,也會被剪掉。
算法的終止條件是,如果自連接得到的已經不再是頻繁集,那么取最后一次得到的頻繁集作為結果。
3 教務管理系統中的學生成績數據挖掘
學生的考試成績不僅體現了學生階段性的學習效果,而且是檢驗學校教學效果的重要依據。為了提高學校教學質量,所以必須對學生的考試成績進行數據挖掘,挖掘出學生考試成績背后的關鍵性因素,可以從學生的性別、專業、課程、入學成績、老師對學生的考核評價等因素為切入點,分析這些因素對學生成績產生的影響,并找出各個要素之間的潛在規律,從而分析出影響學生考試成績的主要因素,并預測學生哪一部分成績還需要進一步加強。采用關聯系規則對學生成績進行數據挖掘,通過數據倉庫查看各個專業學生課程成績單,并分析各個課程與其他課程之間的關聯和影響,從而制定專業的人才培養計劃。在制定計劃的時候,依次從公共課、專業課到拓展課等方面設置相關課程。不同的專業開設課程的時間不同,開課時間次序對學生學習后續課程會產生一定的影響。但是過去很多高校在課程安排上比較隨意,通常都是高校教務處的人根據過去的教學經驗和主觀認知,安排學生的課程時間。然而每一門課程都有它的特點,比如體育課學生可能需要大量的運動,消耗的體能比較多,運動過后學生無論精神上還是身體上都比較疲憊,這個時候上課的效果就不太好,所以在安排課程的時候,盡量將體育課安排到下午的時間段,這樣不會學校其他課程的教學效果。通過關聯性分析,找出每一門課程的影響因素,合理安排課程的先后順序,為人才方案制定者提供科學的決策依據。
我們從教務管理系統中選取1000名軟件技術專業學生的成績,根據學生成績進行數據挖掘,部分成績數據如表1所示。
根據學生考試成績表,分析學生不及格科目之間的關系,60分以下的設置最小支持度為0.04。設置關聯規則的參數,將成績范圍設定為0至59,最小支持度為0.04。
使用Aprior算法對數據倉庫中的相關數據進行關聯規則分析,結果如表2所示。
通過對1000名軟件技術專業的學生60分以下成績進行數據挖掘,發現學生的電路分析和高等數學兩門科目的置信度是0.51,C++程序設計這門課程的置信度是0.40。根據圖表各個課程的置信度可以得出結論。如果學生在大一階段的基礎課程如高等數學學習成績比較差,那么學生的電路分析和C++程序設計兩門科目的學習成績也會不太好,不及格的概率比較大。相對來說,如果高等數學和電路分析兩門課程的置信度達到了0.35,那么對學生的電路分析和C++程序設計兩門科目的學習成績影響不大。那么可以得出這樣的結論,電路分析課程開設在高等數學這門課程之后。通過以上分析,我們可以得出,將一些基礎課程作為專業課程的前導課程,能夠為學生后期學習打下堅實的基礎;如果學生的基礎知識學習不好,那么對專業課程的影響也很大,專業課程的學習和基礎課程有直接關系。研究影響學生成績優秀的課程之間的關系,80分以上設置最小支持度為0.04。設置關聯規則的參數,設定分數范圍80至100,最小支持度為0.04。
利用關聯規則產生如表3所示的數據挖掘結果。
通過對軟件技術專業考試成績在80分以上學生進行數據挖掘,發現專業英語和大學英語兩門課程的置信度是0.62,從中我們可以得出結論,如果學生的英語基礎成績比較好,那么學生的大學英語成績也相對來說沒有什么問題,學生的專業英語成績分數也相對比較高。數據結構和C++程序設計兩門課程是計算機專業的專業基礎課堂,兩門課程的置信度是0.64,從課程的置信度可以看出這兩門課程對專業學習數據結果的影響,如果學生的數據結構這門課程學習成績比較好,那么學生C++程序設計這門課程的學習成績也比較好。從以上分析來網頁設計和制作與photoshop圖像處理兩門課程的置信度是0.68,從中可以看出photoshop圖像處理課程對網頁設計和制作有很大影響。網頁制作的時候,需要photoshop圖形圖像處理軟件對圖片進行處理和調整。所以photoshop圖像處理課程可以設置在網頁制作課程之前,以便學生在學習網頁制作的時候,能夠用photoshop軟件對圖片進行處理。
從上述內容我們可以看出,高校專業課程之間的關聯性很強,從學生考試成績就可以看出,因此在學校開設課程的時候,一定要考慮課程關聯性影響,按照對學生影響大小制定開設課程的次序,并作為學校培養人才的重要依據。
此外在對學生成績進行數據挖掘的時候,還要考慮到學生入學成績和整體考試成績,經學生的入學成績錄入系統,并對學生所有課程考試成績綜合分析,算出平均成績,按照平均成績劃分優秀、良、差等不同等級,將入學成績也分為優、良、差等不同等級,挖掘出入學成績和考試成績之間的關聯。
成績關聯性數據挖掘結果如表4所示。
4 結論
從上述結果得出,如果學生的入學成績差和考試成績優的置信度是0.41,這就表明如果學生的基礎比較差,那么在大學的考試成績好的可能性不大。如果學生的入學成績差和考試成績優的置信度是0.65,那就表明基礎成績差的學生也可以考出良等的考試成績,這樣就能過去傳統理論上入學考試成績好的學生,在大學的學習成績也會很好,如果入學成績不好的學生,在大學的成績肯定不好的這種理論。通過關聯性分析,可以看出學生入學成績的好壞與學生大學成績的好壞并沒有必然的聯系。大學自由的學習氣氛給學生的學習創造了良好的環境,如果學生抓住這個機會,自主學習,那么就能獲得好的成績,如果還是秉承按照高中階段的學習思維,那么可能學生不利于學生的學習。
參考文獻
[1]王少華等.關聯規則在高校系統中的應用[J].福建電腦,2007(12):153-156.
[2]王能斌等.大學課表調度系統UTSS[J].計算機學報,1984(05):383-389.
[3]何炎樣.關聯規則的幾種開采算法及其比較[J].小型微型計算機系統,2001(09).
[4]趙俏.高職院校教務管理中的數據挖掘[J].科技信息,2008(11):80,95.
[5]楊克松.論關聯規則在高校選課系統中的應用[J].福建電腦,2007(10):166-168.
[6]周培德.算法設計與分析[M].北京:機械工業出版社,1996.
作者簡介
周興旺(1979-),男,江蘇省揚州市人。工學碩士學位。現為南通科技職業學院講師。主要研究方向為計算機網絡技術、數據挖掘、教育教學管理等。