畢業(yè)設(shè)計(jì)-- 基于bs的數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)_第1頁
已閱讀1頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、<p>  本科生畢業(yè)設(shè)計(jì)論文(設(shè)計(jì))</p><p>  題目 基于B/S的數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) </p><p>  學(xué)生姓名 </p><p>  指導(dǎo)老師 </p><p>  學(xué)院

2、 信息科學(xué)與工程學(xué)院 </p><p>  專業(yè)班級 電子信息工程0903班 </p><p>  完成時(shí)間 2013-5-23 </p><p><b>  目錄</b></p><p><

3、;b>  中文摘要</b></p><p><b>  英文摘要</b></p><p><b>  概論</b></p><p>  1.1 課題研究的意義</p><p>  1.1.1 研究背景</p><p>  1.1.2 研究意義</

4、p><p>  1.1.3 術(shù)語解釋</p><p>  1.2 國內(nèi)外研究情況</p><p>  1.2.1 B/S模式的研究情況</p><p>  1.2.2 數(shù)據(jù)挖掘的研究情況</p><p>  第二章 課題方案研究</p><p>  2.1 課題要求及規(guī)劃</p&

5、gt;<p>  2.2 常用開發(fā)方式介紹</p><p>  2.3 Visual Studio 2008和Microsoft SQL Server 2008 R2方案</p><p>  2.3.1 B/S模式</p><p>  2.3.2 Microsoft SQL Server 2008 R2</p><p>

6、  2.3.3 Visual Studio 結(jié)合 SQL Server 2008 R2開發(fā)模式</p><p>  第三章 系統(tǒng)設(shè)計(jì)及算法</p><p>  3.1 系統(tǒng)總體結(jié)構(gòu)</p><p>  3.2 系統(tǒng)子功能模塊</p><p>  3.2.1 歡迎和算法介紹模塊</p><p>  3.2.2

7、 數(shù)據(jù)源和算法選擇模塊</p><p>  3.2.3 挖掘結(jié)果演示模塊</p><p>  3.3 DMX語言和挖掘模型</p><p>  3.3.1 模型建立</p><p>  3.3.2 模型訓(xùn)練</p><p>  3.3.3 模型使用</p><p>  3.4 數(shù)據(jù)

8、挖掘算法</p><p>  3.4.1 Microsoft中的數(shù)據(jù)挖掘算法</p><p>  3.4.2 決策樹和線性回歸算法</p><p>  第四章 調(diào)試測試結(jié)果</p><p>  3.1 同數(shù)據(jù)源不同算法</p><p>  3.2 不同數(shù)據(jù)源相同算法</p><p>&l

9、t;b>  3.3 結(jié)果分析</b></p><p>  第五章 總結(jié)及展望</p><p><b>  5.1 總結(jié)</b></p><p><b>  5.2 展望</b></p><p><b>  參考文獻(xiàn)</b></p>&l

10、t;p><b>  附錄</b></p><p><b>  摘要</b></p><p>  數(shù)據(jù)挖掘(Data Mining)是在大型數(shù)據(jù)存儲庫中,自動地發(fā)現(xiàn)有用信息的過程。它用來探查大型數(shù)據(jù)庫,發(fā)現(xiàn)先前未知的有用模式,并且還能預(yù)測未來觀測結(jié)果。數(shù)據(jù)挖掘的目的在于如何善用數(shù)據(jù),從運(yùn)營歷史的記錄獎(jiǎng)勵(lì),挖掘出深藏其中的寶貴經(jīng)驗(yàn)。近年來,隨著

11、數(shù)據(jù)挖掘技術(shù)的進(jìn)步發(fā)展,它在商業(yè)智能領(lǐng)域發(fā)揮了極大的作用。它成為將企業(yè)中現(xiàn)有的數(shù)據(jù)轉(zhuǎn)化為知識,幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營決策的工具。如何使數(shù)據(jù)挖掘技術(shù)更好地應(yīng)用于生活生產(chǎn)、交易決策活動中,具有較高的研究價(jià)值。</p><p>  在本文中,從理論和實(shí)踐上分析了B/S架構(gòu)下利用ASP.NET技術(shù)開發(fā)數(shù)據(jù)挖掘系統(tǒng)的可行性。展示了該系統(tǒng)對數(shù)據(jù)源進(jìn)行挖掘后得到的預(yù)測結(jié)果,并著重分析了對相同數(shù)據(jù)源應(yīng)用不同的挖掘算法及不同的

12、數(shù)據(jù)源應(yīng)用相同的挖掘算法得出的不同結(jié)果,從而分析算法應(yīng)用的優(yōu)劣情況。并詳細(xì)介紹了系統(tǒng)的架構(gòu)方法和調(diào)試結(jié)果,分析了所利用的ASP.NET、ADO等WEB網(wǎng)絡(luò)技術(shù)和數(shù)據(jù)挖掘中如何采用DMX語言對挖掘模型的訓(xùn)練,數(shù)據(jù)挖掘算法比較等。最后,本文通過上述研究成果,總結(jié)了該課題的研究過程并探索了該課題的深入方向。</p><p>  關(guān)鍵詞:數(shù)據(jù)挖掘 商業(yè)智能 B/S模式 SSAS</p><p&g

13、t;<b>  Abstract</b></p><p>  Data Mining (Data Mining) is a large data repository, automatically discover useful information. It used to probe a large database, a useful model to discover previou

14、sly unknown, and can predict future observations. The purpose of data mining is how to make the best use of data from the historical record of the operator reward, digging deep which valuable experience. Recent years, wi

15、th the progress and development of data mining technology in the field of business intelligence played a significa</p><p>  In this article, from the theoretical and practical analysis of the feasibility of

16、the use of the the ASP.NET technology development data mining system B / S structure. Shows the prediction results after the excavation of the system data source, and analyzed the results of different results for differe

17、nt mining algorithms to the same data source applications and different data sources, applications the same mining algorithms to analyze the advantages of the algorithm is applied inferior. And gav</p><p>  

18、Keywords: data mining, business intelligence B / S mode SSAS</p><p><b>  第一章 概述</b></p><p><b>  課題研究的意義</b></p><p>  1.1.1 數(shù)據(jù)挖掘研究背景</p><p>  1

19、989年8月在美國底特律召開的第11屆國際人工智能聯(lián)合會議的專題討論會上首次出現(xiàn)KDD(Knowledge Discovery in Databases)這個(gè)術(shù)語。KDD,及知識發(fā)現(xiàn),是從數(shù)據(jù)集中識別出有效的、新穎的、潛在有用的,以及最終可理解的模式的一個(gè)過程。知識發(fā)現(xiàn)將信息變?yōu)橹R,從數(shù)據(jù)礦山中找到蘊(yùn)藏的知識金塊,將為知識創(chuàng)新和知識經(jīng)濟(jì)的發(fā)展作出貢獻(xiàn)。</p><p>  為了將數(shù)據(jù)轉(zhuǎn)化為知識,需要利用數(shù)據(jù)倉庫

20、、聯(lián)機(jī)分析處理(OLAP)工具和數(shù)據(jù)挖掘(Data Mining)等技術(shù)。數(shù)據(jù)挖掘是在KDD基礎(chǔ)上細(xì)化出來的一個(gè)概念。最初,數(shù)據(jù)挖掘只是指在KDD過程中,利用算法處理數(shù)據(jù)的一個(gè)過程,是KDD中進(jìn)行只是學(xué)習(xí)的階段,是其中的核心技術(shù)。所謂數(shù)據(jù)挖掘即是指從數(shù)據(jù)庫的大量數(shù)據(jù)中揭示出隱含的、先前未知的并有潛在價(jià)值的信息的非平凡過程。它經(jīng)由數(shù)據(jù)轉(zhuǎn)換、核心算法以及結(jié)果表達(dá)得以實(shí)現(xiàn)。它涉及到對數(shù)據(jù)庫中的大量數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換、分析以及模型化處理,從中提

21、取輔助決策的關(guān)鍵性數(shù)據(jù)。數(shù)據(jù)挖掘可以幫助決策者尋找規(guī)律,發(fā)現(xiàn)被忽略的要素,預(yù)測趨勢,進(jìn)行決策,也是對數(shù)據(jù)內(nèi)在和本質(zhì)的高度抽象與概括。</p><p>  數(shù)據(jù)挖掘是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但是潛在有用的信息和知識的一種過程。所以它要求數(shù)據(jù)源必須是真實(shí)的、海量的、含噪聲的;發(fā)現(xiàn)的只是是用戶感興趣的只是;并且發(fā)現(xiàn)的結(jié)果是可接受、可理解、可運(yùn)用的。

22、在技術(shù)中,發(fā)現(xiàn)的知識并不要求是放之四海而皆準(zhǔn)的通用模型,而僅僅要求它是能夠適用于特定的數(shù)據(jù)源的結(jié)果。</p><p>  數(shù)據(jù)挖掘使數(shù)據(jù)庫技術(shù)進(jìn)入了一個(gè)更高級的階段,它不僅能對過去的數(shù)據(jù)進(jìn)行查詢和遍歷,并且能夠找出過去數(shù)據(jù)之間的潛在聯(lián)系,從而促進(jìn)信息的傳遞。</p><p>  1.1.2 課題研究的意義</p><p>  從KDD這個(gè)概念提出至今,數(shù)據(jù)挖掘技術(shù)

23、在各個(gè)領(lǐng)域都有著極大的前景。</p><p>  在醫(yī)學(xué)上,對于龐大的醫(yī)療信息記錄,數(shù)據(jù)挖掘技術(shù)可以從中挖掘出有用信息和規(guī)律,并將這些規(guī)律用于醫(yī)生的診斷過程、對潛在的高患病率的人群進(jìn)行排查和預(yù)防、以及幫助政府制定醫(yī)療政策、社區(qū)群體進(jìn)行醫(yī)療防護(hù)等方面。</p><p>  在司法政治領(lǐng)域,數(shù)據(jù)挖掘技術(shù)也可以通過分析固定人群的信息數(shù)據(jù),從而預(yù)測出人們的行為模式,從而更好的幫助人們做出升學(xué)、置業(yè)

24、等重要決策,也可以幫助制定更能夠惠于民的政治策略。</p><p>  數(shù)據(jù)挖掘更常用的領(lǐng)域是在現(xiàn)今的商業(yè)活動中,決策者往往需要通過既成數(shù)據(jù)和以往的經(jīng)驗(yàn)來做出決策判斷。決策過程可通過商業(yè)智能來幫助決策者。商業(yè)智能通常被理解為將企業(yè)中現(xiàn)有的數(shù)據(jù),如企業(yè)業(yè)務(wù)系統(tǒng)的訂單、庫存、交易賬目、客戶和供應(yīng)商等來自企業(yè)所處行業(yè)和競爭對手的數(shù)據(jù)等,轉(zhuǎn)化為知識,幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營決策的一種解決方案。</p>&

25、lt;p>  伴隨著信息化進(jìn)程的深入,海量的信息大量積聚,如何能從這些信息中獲取有用的知識,并指導(dǎo)人們的日常工作生活,成為了一個(gè)至關(guān)重要的問題??梢哉f,把握了海量數(shù)據(jù)分析處理的方法,就把握了在未來信息化社會里最為重要的一種科技技術(shù)力量。</p><p>  特別要指出的是,數(shù)據(jù)挖掘技術(shù)從一開始就是面向應(yīng)用的。它不僅是面向特定數(shù)據(jù)庫的簡單檢索查詢調(diào)用,而且要對這些數(shù)據(jù)進(jìn)行微觀、中觀乃至宏觀的統(tǒng)計(jì)、分析、綜合和

26、推理 ,以指導(dǎo)實(shí)際問題的求解,企圖發(fā)現(xiàn)事件間的相互關(guān)聯(lián),甚至利用已有的數(shù)據(jù)對未來的活動進(jìn)行預(yù)測。但往往由于這些專業(yè)知識領(lǐng)域獲取困難,使得決策者無法從中得到正確的結(jié)論。因此商業(yè)智能解決方案變得簡潔,易于操作已經(jīng)成為了一個(gè)必然的趨勢。</p><p>  1.1.3 術(shù)語解釋</p><p>  (1)B/S架構(gòu):全稱為Browser/Server,即瀏覽器/服務(wù)器結(jié)構(gòu)。將系統(tǒng)功能實(shí)現(xiàn)的核心部

27、分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。</p><p> ?。?)數(shù)據(jù)挖掘:數(shù)據(jù)挖掘一般是指從大量的數(shù)據(jù)中自動搜索隱藏于其中的有著特殊關(guān)系性(

28、屬于Association rule learning)的信息的過程。用來探查大型數(shù)據(jù)庫,發(fā)現(xiàn)先前未知的有用模式,并且還能預(yù)測未來觀測結(jié)果。</p><p>  (3)商業(yè)智能:商業(yè)智能描述了一系列的概念和方法,通過應(yīng)用基于事實(shí)的支持系統(tǒng)來輔助商業(yè)決策的制定。商業(yè)智能技術(shù)提供使企業(yè)迅速分析數(shù)據(jù)的技術(shù)和方法,包括收集、管理和分析數(shù)據(jù),將這些數(shù)據(jù)轉(zhuǎn)化為有用的信息,然后分發(fā)到企業(yè)各處。</p><p

29、> ?。?)SPSS(Statistical Product and Service Solutions):即統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案。是采用數(shù)據(jù)挖掘技術(shù)的統(tǒng)計(jì)產(chǎn)品與服務(wù)解決方案。</p><p> ?。?)SSAS(SQL Server Analysis Services):即微軟SQL服務(wù)器分析服務(wù)。是Microsoft SQL Sever中提供的集成商業(yè)智能分析方案,包含創(chuàng)建復(fù)雜數(shù)據(jù)挖掘解決方案所需的如

30、下功能和工具??梢越M合使用這些功能和工具,以發(fā)現(xiàn)數(shù)據(jù)中存在的趨勢和模式,然后使用這些趨勢和模式對業(yè)務(wù)難題作出明智決策。</p><p> ?。?)SSIS(SQL Server Integration Services ):即微軟SQL服務(wù)器集成服務(wù)。是用于生成企業(yè)級數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺。</p><p><b>  國內(nèi)外研究情況</b><

31、;/p><p>  1.2.1 B/S模式研究情況</p><p>  B/S是Brower/Server的縮寫,它是在C/S模式的基礎(chǔ)上發(fā)展起來的一種網(wǎng)絡(luò)架構(gòu)技術(shù),近年來隨著Internet技術(shù)的興起,這種方便快捷的技術(shù)已經(jīng)日趨完善,為許多人所采用。在B/S結(jié)構(gòu)中,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務(wù)

32、器安裝Oracle、Sybase、Informix或 SQL Server等數(shù)據(jù)庫和所需要的處理工具。用戶即可通過Web Server瀏覽器同數(shù)據(jù)庫進(jìn)行數(shù)據(jù)交互。</p><p>  相比傳統(tǒng)的C/S模式,B/S模式具有維護(hù)和升級方式簡單、成本低的優(yōu)點(diǎn)。它可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺能上網(wǎng)的電腦就能使用,無需維護(hù)客戶端。</p><p>  在這種結(jié)構(gòu)下,用戶

33、界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成由表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問層(DAL)構(gòu)成的3層架構(gòu)(3-tier architecture),從而實(shí)現(xiàn)軟件高內(nèi)聚,低耦合的設(shè)計(jì)準(zhǔn)則。</p><p>  該結(jié)構(gòu)下各層的作用和聯(lián)系見圖一:</p><p>  圖一 B/S模式結(jié)構(gòu)圖</p><p> 

34、 數(shù)據(jù)訪問層:主要是對原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù).</p><p>  業(yè)務(wù)邏輯層:主要是針對具體的問題的操作,也可以理解成對數(shù)據(jù)層的操作,對數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對這些積木的搭建。</p><p>  表示層:主要表示W(wǎng)EB方式,也可以表

35、示成WINFORM方式,WEB方式也可以表現(xiàn)成:aspx,如果邏輯層相當(dāng)強(qiáng)大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。</p><p>  B/S結(jié)構(gòu),利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來需要復(fù)雜專用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開發(fā)成本,是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。隨著W

36、indows 98/Windows 2000將瀏覽器技術(shù)植入操作系統(tǒng)內(nèi)部,這種結(jié)構(gòu)更成為當(dāng)今應(yīng)用軟件的首選體系結(jié)構(gòu)。顯然B/S結(jié)構(gòu)應(yīng)用程序相對于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。</p><p>  1.3.2數(shù)據(jù)挖掘研究情況</p><p>  數(shù)據(jù)庫中發(fā)現(xiàn)知識一詞從首次出現(xiàn)于1989年在美國底特律召開的第十一屆國際聯(lián)合人工智能學(xué)術(shù)會議上,到1995年在加拿大蒙特利爾召開的首屆KD

37、D&Data Mining國際學(xué)術(shù)會議,再到以后每年都要召開一次的KDD&Data Mining國際學(xué)術(shù)會議,經(jīng)過十多年的努力,數(shù)據(jù)挖掘技術(shù)的研究已經(jīng)取得了豐碩的成果,不少軟件公司已研制出數(shù)據(jù)挖掘軟件產(chǎn)品,并在北美、歐洲等國家得到應(yīng)用。</p><p>  經(jīng)過了24年的發(fā)展,數(shù)據(jù)挖掘技術(shù)已被廣泛應(yīng)用于各個(gè)領(lǐng)域。其中一些典型應(yīng)用如加州理工學(xué)院噴氣推進(jìn)實(shí)驗(yàn)室與天文科學(xué)家合作開發(fā)的SKICAT系統(tǒng),能

38、夠幫助天文學(xué)家發(fā)現(xiàn)遙遠(yuǎn)的類星體,是人工智能技術(shù)在天文學(xué)和空間科學(xué)上的第一批成功應(yīng)用之一,生物學(xué)研究中用數(shù)據(jù)挖掘技術(shù)對DNA進(jìn)行分析;利用數(shù)據(jù)挖掘技術(shù)識別顧客的購買行為模式,對客戶進(jìn)行了分析;對銀行或保險(xiǎn)公司經(jīng)常發(fā)生的詐騙行為進(jìn)行預(yù)測;IBM公司開發(fā)的AS(Advanced Scout)系統(tǒng)針對NBA的比賽數(shù)據(jù),幫助教練優(yōu)化戰(zhàn)術(shù)組合等。</p><p>  與國外相比,國內(nèi)對數(shù)據(jù)挖掘的研究稍晚,沒有形成整體力量。1

39、993年國家自然科學(xué)基金首次支持?jǐn)?shù)據(jù)挖掘領(lǐng)域的研究項(xiàng)目,目前,國內(nèi)的許多科研單位和高等院校競相開展數(shù)據(jù)挖掘和知識發(fā)現(xiàn)的基礎(chǔ)理論及其應(yīng)用研究,這些單位包括清華大學(xué)、中科院計(jì)算技術(shù)研究所、空軍第三研究所、海軍裝備論證中心等。 </p><p>  在國內(nèi)應(yīng)用數(shù)據(jù)挖掘的企業(yè)還是以通信企業(yè)(移動、聯(lián)通、電信)為首,應(yīng)用的深度和廣度都處于領(lǐng)先地位。隨著電子商務(wù)的普及,各大商務(wù)網(wǎng)站已經(jīng)大規(guī)模使用數(shù)據(jù)挖掘技術(shù),并且迅速從中取得

40、商業(yè)價(jià)值。例如,國內(nèi)很多網(wǎng)上商城已經(jīng)開始使用數(shù)據(jù)挖掘技術(shù)進(jìn)行客戶聚類或者商品關(guān)聯(lián)推廣。</p><p>  展望未來,Gartner的報(bào)告已經(jīng)指出,數(shù)據(jù)挖掘會成為未來10年內(nèi)重要的技術(shù)之一。網(wǎng)絡(luò)化時(shí)代使得信息膨脹成為必然,如何準(zhǔn)確、高效地從豐富而膨脹的數(shù)據(jù)中篩選出對經(jīng)營決策有用的信息已經(jīng)成為企業(yè)和機(jī)構(gòu)迫切需要解決的問題。</p><p>  未來的數(shù)據(jù)挖掘技術(shù)將側(cè)重在海量數(shù)據(jù)挖掘、云計(jì)算、

41、并行數(shù)據(jù)挖掘技術(shù)、面向數(shù)據(jù)挖掘的隱私保護(hù)技術(shù)和數(shù)據(jù)挖掘集成等方面。</p><p> ?。?)海量數(shù)據(jù)挖掘:是指應(yīng)用一定的算法,從海量的數(shù)據(jù)中發(fā)現(xiàn)有用的信息和知識。</p><p> ?。?)云計(jì)算:目前云計(jì)算的相關(guān)應(yīng)用主要有云物聯(lián)、云安全、云存儲。云存儲是在云計(jì)算(cloud computing)概念上延伸和發(fā)展出來的新概念,是指通過集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量

42、各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個(gè)系統(tǒng)。</p><p> ?。?)并行數(shù)據(jù)挖掘:并行數(shù)據(jù)挖掘技術(shù)能夠高效率的進(jìn)行數(shù)據(jù)挖掘。處理并行數(shù)據(jù)挖掘的策略主要涉及三種算法:并行關(guān)聯(lián)規(guī)則挖掘算法、并行聚類算法和并行分類算法。</p><p> ?。?)數(shù)據(jù)挖掘集成:數(shù)據(jù)挖掘體系框架由三部分組成:數(shù)據(jù)準(zhǔn)備體系、建模與挖掘體系、結(jié)果解釋與評價(jià)體系

43、。其中最為核心的部分是建模與挖掘體系,它主要是根據(jù)挖掘主題和目標(biāo),通過挖掘算法和相關(guān)技術(shù)(如統(tǒng)計(jì)學(xué)、人工智能、數(shù)據(jù)庫、相關(guān)軟件技術(shù)等),對數(shù)據(jù)進(jìn)行分析,挖掘出數(shù)據(jù)之間內(nèi)在的聯(lián)系和潛在的規(guī)律。大體上,數(shù)據(jù)挖掘應(yīng)用集成可分為幾類:數(shù)據(jù)挖掘算法的集成、數(shù)據(jù)挖掘與數(shù)據(jù)庫的集成、數(shù)據(jù)挖掘與數(shù)據(jù)倉庫的集成、數(shù)據(jù)挖掘與相關(guān)軟件技術(shù)的集成、數(shù)據(jù)挖掘與人工智能技術(shù)的集成等。</p><p>  第二章 課題方案研究</p&

44、gt;<p>  2.1 課題要求及規(guī)劃</p><p>  課題需要設(shè)計(jì)一個(gè)有利于商業(yè)決策者分析、使用數(shù)據(jù)挖掘系統(tǒng),它是基于B/S模式的,具有數(shù)據(jù)挖掘功能的商業(yè)智能網(wǎng)站。使用者能夠以web瀏覽的方式對數(shù)據(jù)進(jìn)行查看和分析,并且實(shí)現(xiàn)數(shù)據(jù)預(yù)測功能,并且界面友好、操作簡單。</p><p><b>  系統(tǒng)功能性要求</b></p><p

45、>  任務(wù)需要以.NET技術(shù)為支持,做出一個(gè)可供使用者以web瀏覽的方式對數(shù)據(jù)進(jìn)行查看和分析,并且實(shí)現(xiàn)數(shù)據(jù)預(yù)測功能的B/S架構(gòu)的系統(tǒng)。由于數(shù)據(jù)挖掘要求數(shù)據(jù)倉庫(Data Warehouse)中的數(shù)據(jù)源具有純凈性,所以需要在數(shù)據(jù)倉庫中得到較為純凈且有代表意義的數(shù)據(jù)源進(jìn)行挖掘演示。</p><p>  系統(tǒng)要求用戶能夠針對不同的數(shù)據(jù)源,選用不同的數(shù)據(jù)挖掘算法,通過對服務(wù)器端的數(shù)據(jù)庫進(jìn)行數(shù)據(jù)挖掘分析,得出的預(yù)測結(jié)

46、構(gòu)通過HTLM返回用戶瀏覽器端。并比較實(shí)際數(shù)據(jù)源和數(shù)據(jù)挖掘預(yù)測結(jié)果,進(jìn)行算法優(yōu)劣對比。</p><p> ?。?) 系統(tǒng)性能要求。</p><p>  系統(tǒng)要求運(yùn)行性能穩(wěn)定可靠,具有良好的可擴(kuò)展性和易維護(hù)性,一般應(yīng)用功能頁面調(diào)用能夠在3秒內(nèi)完成,復(fù)雜報(bào)表輸出功能操作能夠在5秒內(nèi)完成。當(dāng)出現(xiàn)操作失敗時(shí),程序應(yīng)該給出詳盡的提示信息,不能因此造成程序或系統(tǒng)死機(jī)。數(shù)據(jù)挖掘預(yù)測結(jié)果需要達(dá)到一定的正確

47、率。否則就失去了數(shù)據(jù)挖掘的意義。錯(cuò)誤的預(yù)測往往會帶來更嚴(yán)重的問題。</p><p>  在課題的實(shí)現(xiàn)過程中,在數(shù)據(jù)源、數(shù)據(jù)挖掘算法的選擇、DMX語言對于挖掘模型的創(chuàng)建和訓(xùn)練、B/S架構(gòu)的方法等方面應(yīng)該重點(diǎn)關(guān)注。</p><p>  首先,數(shù)據(jù)挖掘的前提是需要有大量的潔凈數(shù)據(jù)集,即數(shù)據(jù)沒有丟失,數(shù)據(jù)的類型統(tǒng)一且符合標(biāo)準(zhǔn)。如何得到純凈的數(shù)據(jù)集,是數(shù)據(jù)挖掘是否能得以成功的關(guān)鍵點(diǎn)。為方便國內(nèi)外數(shù)據(jù)

48、挖掘研究,一些大學(xué)或圖書館提供了許多免費(fèi)的數(shù)據(jù)源,但這些數(shù)據(jù)源是未經(jīng)整理且雜亂的且不能確保完整度的。</p><p>  其次,針對不同的數(shù)據(jù)源,需要選用不同的數(shù)據(jù)挖掘算法。如決策樹模型適合處理非數(shù)值型才數(shù)據(jù),聚類分析模型適合在雜亂的數(shù)據(jù)集中進(jìn)行分類處理。當(dāng)看到數(shù)據(jù)源時(shí),如何選擇合適的數(shù)據(jù)挖掘算法也是十分重要的。于是,如何選取挖掘模型也具有一定難度。</p><p>  并且,數(shù)據(jù)挖掘分析

49、服務(wù)中,需要編寫DMX語言進(jìn)行數(shù)據(jù)挖掘模型的創(chuàng)建和操作。由于DMX語言是基于數(shù)據(jù)定義語言(DDL)、數(shù)據(jù)操作語言(DML)及函數(shù)和運(yùn)算符等所組成的。應(yīng)該重點(diǎn)掌握其語法特點(diǎn)和邏輯思路。</p><p>  最后,B/S架構(gòu)需要利用ASP.NET技術(shù)進(jìn)行搭建,如何利用C#腳本語言進(jìn)行前臺搭建,使得系統(tǒng)能方便使用者查詢也需要重點(diǎn)考慮。</p><p>  2.2 常用開發(fā)方式介紹</p&

50、gt;<p>  B/S架構(gòu)的常用開發(fā)工具包括B/S一般是由ASP、PHP、JSP和SQL、Oracle、Access數(shù)據(jù)庫技術(shù)。依據(jù)不同的腳本語言和分層架構(gòu)方式不同,以及所需要的功能強(qiáng)度要求不一樣,可以選擇不同的開發(fā)語言和后臺數(shù)據(jù)庫。</p><p>  ASP以VB Script或C#作為腳本開發(fā)語言,是在微軟平臺上常用的動態(tài)網(wǎng)頁技術(shù)。PHP借用C、Java和Perl語言的語法,是跨平臺的動態(tài)網(wǎng)

51、頁技術(shù)。而JSP是近年來新出現(xiàn)的技術(shù),結(jié)合JAVA Script語言,能夠更好的在各平臺上開發(fā)。</p><p>  而數(shù)據(jù)挖掘(Data Mining)軟件包市場大概可以分為三類:</p><p>  (1)一般分析目的用的軟件包。如Microsoft SQL Server、SAS Enrerprise Miner、IBM Intelligence Miner等</p>&

52、lt;p>  (2)針對特定功能或產(chǎn)業(yè)而研發(fā)的軟件。如KDI(針對零售行業(yè))、Options&Choices(針對保險(xiǎn)業(yè))、HNC(針對銀行信用卡欺詐或壞賬檢測)等</p><p> ?。?)整合DSS/OLAP/Data Mining的大型分析系統(tǒng)。</p><p>  2.3 visual studio 2008和Microsoft SQL Server 2008 R2

53、方案</p><p>  2.3.1 ASP.NET技術(shù)下的B/S模式架構(gòu)</p><p>  本次設(shè)計(jì)利用ASP.NET技術(shù)完成B/S(瀏覽器/服務(wù)器模式)模式搭建。在用戶終端上安裝瀏覽器軟件,在服務(wù)器上存放數(shù)據(jù)并且安裝服務(wù)應(yīng)用程序。用戶通過瀏覽器訪問服務(wù)器,查看相關(guān)信息。</p><p>  Active Server Pages(ASP)提供服務(wù)器端腳本編寫

54、環(huán)境,用戶使用ASP可以創(chuàng)建和進(jìn)行動態(tài)、交互的Web服務(wù)器應(yīng)用程序,可以組合HTML頁、腳本命令和ActiveX組件以創(chuàng)建交互的Web頁和基于Web的功能強(qiáng)大的應(yīng)用程序。</p><p>  ASP頁是包括HTML標(biāo)記、文本和腳本命令的文件。ASP頁可以調(diào)用ActiveX組件來執(zhí)行任務(wù),例如連接到數(shù)據(jù)庫或進(jìn)行商務(wù)計(jì)算等。通過ASP可以為Web頁添加交互內(nèi)容或用HTML頁構(gòu)成整個(gè)Web應(yīng)用程序,這些應(yīng)用程序使用HT

55、LM頁作為客戶端的界面。</p><p>  當(dāng)瀏覽器從Web服務(wù)器上請求.asp文件時(shí)就開始運(yùn)行ASP腳本,然后Web服務(wù)器調(diào)用ASP,ASP全面讀取請求的文件,執(zhí)行所有的腳本命令,并將Web頁傳送給瀏覽器。</p><p>  圖二 B/S架構(gòu)工作原理示意圖</p><p>  由于腳本在服務(wù)器上而不是在客戶端上運(yùn)行,傳送到瀏覽器上的Web頁在Web服務(wù)器上

56、生成,所以不必?fù)?dān)心瀏覽器能否處理腳本,Web服務(wù)器已經(jīng)完成了所有腳本的處理,并將標(biāo)準(zhǔn)的HTML頁傳送到了瀏覽器。由于只有腳本的結(jié)構(gòu)返回到瀏覽器,所以服務(wù)器端腳本不易復(fù)制,用戶看不到創(chuàng)建鏈接時(shí)正在瀏覽的頁的腳本命令。</p><p>  ASP腳本語言通常采用VB或C#兩種,此次設(shè)計(jì)中采用C#作為ASP腳本語言。VS中提供如text文本框、button按鈕等基本的控件,通過點(diǎn)擊控件可進(jìn)行編程。</p>

57、<p>  利用VS中的控件,可設(shè)計(jì)好此系統(tǒng)的界面,并將控件拖入界面的適當(dāng)位置,雙擊控件進(jìn)行網(wǎng)站的腳本動作編程,即可供使用者通過瀏覽器訪問服務(wù)器,服務(wù)器處理數(shù)據(jù)后以一個(gè)簡潔明晰的結(jié)果,反饋給使用者。</p><p>  除了微軟公司提供的ASP.NET的WEB技術(shù),微軟公司近年來退出的ADOMD.NET插件,為數(shù)據(jù)挖掘系統(tǒng)的開發(fā)提供了另一種可行且便利的方法。ADOMD.NET是一個(gè)標(biāo)準(zhǔn)的.NET數(shù)據(jù)提

58、供者,它主要用來與多維數(shù)據(jù)源進(jìn)行通信。它使用支持 XML for Analysis version 1.1標(biāo)準(zhǔn)的數(shù)據(jù)提供者連接數(shù)據(jù)源,使用TCP/IP或 HTTP流傳輸和接受SOAP請求。使用ADOMD.NET可以獲取和操作多維數(shù)據(jù),KPI和挖掘模型。ADOMD.NET也可以通過兩種方式瀏覽和操縱元數(shù)據(jù):OLEDB Schema Rowsets 或ADOMD.NET對象模型。</p><p>  在ADOMD.N

59、ET插件中包含有幾個(gè)常用控件,這將是在本系統(tǒng)中高頻使用到的:</p><p>  AdomdConnection:  連接多維數(shù)據(jù)源和多維數(shù)據(jù)源的元數(shù)據(jù)。例如:可以通過AdomdConnection連接SQL Server 2000 Analysis Services的本地立方(.cub)文件,并獲取多維數(shù)據(jù)源的立方的屬性以獲取它的元數(shù)據(jù)。AdomdConnection對象繼承IDbConne

60、ction接口。</p><p>  AdomdCommand:執(zhí)行MDX查詢,返回CellSet或AdomdDataReader 對象。當(dāng)與多維數(shù)據(jù)源建立連接后,就需要通過AdomdCommand對象執(zhí)行MDX語句,并以CellSet或者AdomdDataReader對象的形式返回結(jié)果。</p><p>  AdomdDataReader:快速有效的讀取多維數(shù)據(jù)方法。AdomdDataR

61、eader繼承IDbDataAdapter 接口,通過執(zhí)行AdomdCommand對象的Execute或者ExecuteCellSet方法獲取結(jié)果。</p><p>  CellSet :多維數(shù)據(jù)結(jié)果集。通過執(zhí)行AdomdCommand對象的Execute或者ExecuteCellSet方法返回的MDX查詢語句的結(jié)果。一旦AdomdCommand返回一個(gè)CellSet對象,我們就可以查看包含在

62、CellSet中的多維數(shù)據(jù)集。CellSet常用于多維數(shù)據(jù)集需要緩存或者更新的時(shí)候。</p><p>  2.3.2 Microsoft SQL Server中的商業(yè)智能</p><p>  在Microsoft SQL Server 2008中集成了常用的數(shù)據(jù)挖掘算法,通過調(diào)用這些算法,就可以在一定程度上避免在數(shù)據(jù)挖掘過程中的復(fù)雜算法設(shè)計(jì)。在BI組件中,可以提供數(shù)據(jù)挖掘通過預(yù)測未來趨勢

63、及行為,做出前攝的、基于知識的決策的解決方案。其主要可以實(shí)現(xiàn)自動預(yù)測趨勢和行為、關(guān)聯(lián)分析、聚類、概念描述、偏差檢測等五種功能。</p><p>  Microsoft SQL SERVER 2008中包含Bussiness Intelligence Development Studio(BI應(yīng)用程序開發(fā)工具集),該工具集提供了包括SSPS、SSAS和SSIS三大部分的專門針對商業(yè)智能的解決方案。有兩種方法可以進(jìn)行

64、數(shù)據(jù)挖掘開發(fā):一是使用BI工具集可進(jìn)行數(shù)據(jù)挖掘開發(fā),同時(shí)可以使用SQL Server Management Studio來操做和維護(hù)BI數(shù)據(jù)庫對象。二是利用微軟提供的ADOMD.NET插件,在微軟的Microsoft Visual Studio2008開發(fā)環(huán)境中,完成SQL Server Analysis Service型數(shù)據(jù)庫的連接操作,并利用它提供的運(yùn)行DMX數(shù)據(jù)挖掘語言的相應(yīng)的接口函數(shù)在VS2008開發(fā)環(huán)境中完成數(shù)據(jù)挖掘模型的訓(xùn)練

65、。</p><p>  DMX語言是為了能夠使普通的數(shù)據(jù)庫開發(fā)人員能夠輕松使用,而不僅僅是為了專家而設(shè)計(jì)的語言。用DMX語言進(jìn)行數(shù)據(jù)挖掘的優(yōu)勢在于:數(shù)據(jù)挖掘功能可以全部用語句來實(shí)現(xiàn),我們可以將這些語句嵌入其它的MIS或ERP系統(tǒng)中,實(shí)現(xiàn)有機(jī)整合。所以它具有非常好的普適性。在Microsoft中為了進(jìn)行SSAS的數(shù)據(jù)挖掘開發(fā),就需要使用到DMX語言對數(shù)據(jù)挖掘的模型進(jìn)行創(chuàng)建、訓(xùn)練以及使用(預(yù)測)。使用DMX語言處理過

66、后的挖掘模型即可得到預(yù)測結(jié)果值。</p><p>  這樣,通過Microsoft SQL Server 2008 R2數(shù)據(jù)庫環(huán)境,就可以完成全部的基本數(shù)據(jù)挖掘功能。它是易于上手且功能強(qiáng)大的數(shù)據(jù)挖掘工具。</p><p>  2.3.3 Visual Studio 結(jié)合 SQL Server 2008 R2開發(fā)模式</p><p>  在諸多數(shù)據(jù)挖掘開發(fā)方案中,本次

67、設(shè)計(jì)選擇的是Visual Studio 2008結(jié)合Microsoft SQL Server 2008 R2的開發(fā)方案。</p><p>  這是因?yàn)?,一方面SQL Server能讓用戶利用Microsoft.NET與Visual Studio開發(fā)定制化應(yīng)用程序,以及通過Microsoft BizTalk Server內(nèi)的面向服務(wù)架構(gòu)(SOA)與業(yè)務(wù)程序來訪問數(shù)據(jù)?;赩isual Studio集成開發(fā)環(huán)境的AS

68、P.NET</p><p>  技術(shù),以及SQL Server都是由微軟公司開發(fā)完善的,所以利用兩者結(jié)合可以具有很好的兼容性和普適性。</p><p>  另一方面,信息工作者也能使用SQL Server直接訪問他們每日使用的數(shù)據(jù),如Micrsoft Office 2007 System。它所提供高信賴度、高生產(chǎn)力與商業(yè)智能的信息平臺,能夠符合用戶的所有數(shù)據(jù)需求。</p>&

69、lt;p>  其開發(fā)方式通常是下面這種流程(見圖三)。在本設(shè)計(jì)中,以Microsoft SQL Server 2008 R2開發(fā)版本,主要利用其中的Analysis Services(即SSAS)模塊進(jìn)行數(shù)據(jù)挖掘功能的開發(fā)和管理。同時(shí),利用微軟提供的ADOMD.NET插件,可以在微軟的Microsoft Visual Studio2008開發(fā)環(huán)境中,完成了SQL SERVER ANALYSIS SERVICE型數(shù)據(jù)庫的連接操作,并

70、利用它提供的運(yùn)行DMX數(shù)據(jù)挖掘語言的相應(yīng)的接口函數(shù)在VS2008開發(fā)環(huán)境中完成數(shù)據(jù)挖掘模型的訓(xùn)練。</p><p>  圖三 數(shù)據(jù)挖掘系統(tǒng)開發(fā)流程</p><p>  第三章 系統(tǒng)設(shè)計(jì)及算法</p><p>  3.1 系統(tǒng)總體結(jié)構(gòu)</p><p>  本系統(tǒng)主要需要在Visual Studio開發(fā)平臺上,以.NET技術(shù)為支持,做出一

71、個(gè)可供使用者以web瀏覽的方式對數(shù)據(jù)進(jìn)行查看和分析,并且實(shí)現(xiàn)數(shù)據(jù)預(yù)測功能的,有數(shù)據(jù)挖掘功能的系統(tǒng)。在設(shè)計(jì)中將主要的功能模塊分成身份驗(yàn)證模塊和數(shù)據(jù)挖掘演示模塊兩個(gè)部分。系統(tǒng)的功能結(jié)構(gòu)圖見圖四:</p><p>  圖四 系統(tǒng)功能結(jié)構(gòu)圖</p><p>  用戶登錄模塊:此功能要求能夠區(qū)分系統(tǒng)使用者和游客等不同身份的使用者。系統(tǒng)在登錄功能里,根據(jù)用戶名和密碼,來賦予不同使用者對系統(tǒng)的使用

72、權(quán)限。從而提高系統(tǒng)的安全性。</p><p>  數(shù)據(jù)挖掘模塊:該模塊是系統(tǒng)的核心模塊。通過對數(shù)據(jù)倉庫中的數(shù)據(jù)模型的創(chuàng)建和訓(xùn)練,成為可供挖掘的分析型數(shù)據(jù)集。在該功能模塊里使用者可以通過選擇不同的數(shù)據(jù)源和不同的數(shù)據(jù)挖掘算法對其進(jìn)行挖掘算法的演示,挖掘得到的結(jié)果會按要求顯示出來,并且能夠通過比對實(shí)際值,來估計(jì)挖掘算法的優(yōu)良程度。</p><p>  數(shù)據(jù)倉庫和BI數(shù)據(jù)挖掘模塊:這個(gè)模塊是系統(tǒng)的

73、底層的數(shù)據(jù)庫部分,它位于服務(wù)器端。該部分是SQL SERVER ANALYSIS SERVICE型的數(shù)據(jù)庫,該類型的數(shù)據(jù)庫是專門用于SQL數(shù)據(jù)分析的數(shù)據(jù)倉庫。在此模塊中,還內(nèi)部集成了Microsoft SQL Server中的一些常用的數(shù)據(jù)挖掘算法,通過DMX語言對數(shù)據(jù)倉庫中的數(shù)據(jù)模型的創(chuàng)建和訓(xùn)練,同時(shí)為其選擇合適的數(shù)據(jù)挖掘算法,就能使之成為可供挖掘的分析型數(shù)據(jù)集。</p><p>  3.2 系統(tǒng)子功能模塊&

74、lt;/p><p>  本文在這個(gè)部分將以系統(tǒng)的功能結(jié)構(gòu),分模塊介紹該系統(tǒng)的設(shè)計(jì)思路和方法。</p><p>  3.2.1 歡迎界面和算法介紹模塊</p><p>  使用者從瀏覽器端打開此系統(tǒng),首先會顯示出系統(tǒng)的歡迎頁面(見圖四)。點(diǎn)擊DMX數(shù)據(jù)挖掘即可進(jìn)入挖掘系統(tǒng)。在挖掘系統(tǒng)中,首先會展示系統(tǒng)中的源數(shù)據(jù),包括一個(gè)三國志4游戲人物的特征數(shù)據(jù)表和一個(gè)高中學(xué)生考學(xué)情況

75、的數(shù)據(jù)表(見圖五)。</p><p>  圖四 系統(tǒng)歡迎界面</p><p>  因?yàn)閿?shù)據(jù)挖掘在DMX創(chuàng)建挖掘模型階段,并不會將源數(shù)據(jù)中的每一列都一一映射到挖掘模型中,而是會挑選出關(guān)鍵列的事例和屬性,生成挖掘模型。所以,在挖掘前,需要向使用者展示源數(shù)據(jù)情況,方便其了解源數(shù)據(jù)的各種具體參數(shù),也利于使用者選擇挖掘算法,進(jìn)行下一步操作。</p><p>  這個(gè)模塊里,

76、并沒有集成主要的系統(tǒng)邏輯代碼。而是通過拖動VS開發(fā)平臺的控件來實(shí)現(xiàn)這些功能的。</p><p>  圖五 源數(shù)據(jù)展示</p><p>  2.2 挖掘算法選擇模塊</p><p>  在這個(gè)模塊(界面見圖六)里,用戶需要按自己的需求選擇相應(yīng)的數(shù)據(jù)源和對應(yīng)算法。系統(tǒng)提供sanguo、shengxue兩個(gè)數(shù)據(jù)源和決策樹、線性回歸兩種算法。使用者就可以得到四種預(yù)測結(jié)

77、果。通過比對這些結(jié)果可以評估算法的適合及優(yōu)良程度。</p><p>  圖六 數(shù)據(jù)源和挖掘算法選擇界面</p><p>  3.2.3 挖掘結(jié)果展示模塊</p><p>  使用者提交了源數(shù)據(jù)及算法的選擇后,會跳轉(zhuǎn)到對應(yīng)的挖掘結(jié)果展示模塊(界面見圖七)。模塊中會顯示出挖掘模型里用到的參考項(xiàng)、預(yù)測項(xiàng)以及預(yù)測項(xiàng)的實(shí)際數(shù)值項(xiàng),并將這些結(jié)果都通過表格展示出來。</

78、p><p>  系統(tǒng)的主要邏輯代碼都集中在這個(gè)模塊的設(shè)計(jì)中。在VS中設(shè)計(jì)了4個(gè)aspx文件,對四種挖掘組合進(jìn)行編程。</p><p>  此處選取其中的一種情況,結(jié)合源代碼解釋一下開發(fā)方式。其他三種情況是類同的,就不一一介紹了。</p><p>  首先,需要編寫數(shù)據(jù)庫的連接代碼。</p><p>  SqlConnection con = ne

79、w SqlConnection();</p><p>  constr2 = "server=ADMIN-PC\SQLEXPRESS;uid=sa;pwd=123;database=flag; Max Pool Size=100; Min Pool Size=8";</p><p>  con.ConnectionString = constr2;</p>

80、<p>  con.Open();</p><p>  SqlCommand sm = new SqlCommand();</p><p>  sm.Connection = con;</p><p>  con.Close(); </p><p>  AdomdConnection conn = new AdomdCo

81、nnection();</p><p>  connstr = "Provider=MSOLAP.3;Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=sany;Data Source=AI";</p><p>  conn.ConnectionString = connstr;<

82、;/p><p>  conn.Open();</p><p>  string tdb = conn.Database;</p><p>  Label1.Text = "連接成功";</p><p>  連接數(shù)據(jù)庫后,需要用DMX語言處理挖掘模型,具體方法在下一節(jié)詳細(xì)介紹。數(shù)據(jù)挖掘預(yù)測完畢之后,要以表格形式顯示相關(guān)的數(shù)據(jù)結(jié)果

83、,顯示結(jié)果的代碼部分見下:</p><p>  DataTable dt = new DataTable();</p><p>  dt.TableName = "resulttable";</p><p>  DataColumn dc = new DataColumn();</p><p>  DataRow dr =

84、 null;</p><p>  dt.Columns.Add(new DataColumn("Description"));</p><p>  //定義一個(gè)列表,并將其內(nèi)元素設(shè)為空,為其添加描述性行頭。</p><p>  string name;</p><p>  foreach (Position p in cs

85、.Axes[0].Positions)</p><p><b>  {</b></p><p>  dc = new DataColumn();</p><p>  name = "";</p><p>  foreach (Member m in p.Members)</p><

86、p><b>  {</b></p><p>  name = name + m.Caption + " ";</p><p><b>  }</b></p><p>  dc.ColumnName = name;</p><p>  dt.Columns.Add(dc);&

87、lt;/p><p>  }//生成數(shù)據(jù)列對象的列名稱</p><p>  int pos = 0;</p><p>  foreach (Position py in cs.Axes[1].Positions)</p><p><b>  {</b></p><p>  dr = dt.NewRow(

88、);</p><p>  name = "";</p><p>  foreach (Member m in py.Members)</p><p><b>  {</b></p><p>  name = name + m.Caption + "\r\n";</p>

89、<p><b>  }</b></p><p>  dr[0] = name;</p><p>  for (int x = 1; x <= cs.Axes[0].Positions.Count; x++)</p><p><b>  {</b></p><p>  dr[x] =

90、 cs[pos++].FormattedValue;</p><p><b>  }</b></p><p>  dt.Rows.Add(dr);</p><p>  }//向表格中逐列添加數(shù)據(jù)值</p><p>  return dt;</p><p><b>  }</b>

91、;</p><p>  挖掘結(jié)果顯示完畢之后,用戶可以通過首頁按鈕返回系統(tǒng)首頁,然后重新選擇其他的數(shù)據(jù)源和算法。</p><p>  3.3 數(shù)據(jù)挖掘模型建立和訓(xùn)練</p><p>  本次設(shè)計(jì)中,需要使用DMX(Data Mining Extension)語言,DMX的意義在于為數(shù)據(jù)挖掘定義統(tǒng)一的概念和統(tǒng)一的查詢表達(dá)方式,它如同與數(shù)據(jù)庫中SQL語言所起的作用。D

92、MX語言由數(shù)據(jù)定義語言(Data Definition Language,DDL),數(shù)據(jù)操作語言(Data Manipulation Language,DML),以及函數(shù)和運(yùn)算符等所組成。</p><p>  DMX語言的產(chǎn)生,是因?yàn)?,在?shù)據(jù)挖掘市場上有許多數(shù)據(jù)挖掘產(chǎn)品,每個(gè)產(chǎn)品都以自己特有的方式來描述和構(gòu)建數(shù)據(jù)挖掘應(yīng)用程序,大多數(shù)數(shù)據(jù)挖掘工具包都有它們自己的算法、自己的模型模式瀏覽和存儲格式、自己的數(shù)據(jù)清理工具

93、乃至自己的報(bào)表生成工具。這樣的方式將數(shù)據(jù)挖掘系統(tǒng)與企業(yè)操作系統(tǒng)隔離開了,從而增加了實(shí)現(xiàn)數(shù)據(jù)挖掘解決方案的難度和成本。</p><p>  DMX語言在Microsoft SQL Server中,是用于創(chuàng)建數(shù)據(jù)挖掘模型的結(jié)構(gòu)、訓(xùn)練這些模型,以及瀏覽、管理與預(yù)測模型的表達(dá)式語言。采用表達(dá)式語言很容易讓數(shù)據(jù)庫開發(fā)人員所理解,所以它具有比較好的可讀性和可維護(hù)性。區(qū)別于高級的開發(fā)語言,DMX語言不涉及復(fù)雜的算法,它只是提供

94、了可供討論的數(shù)據(jù)挖掘問題的詳細(xì)語言。DMX只有通過DMX語言訓(xùn)練過的挖掘模型,才能進(jìn)行高層的、自定義化的數(shù)據(jù)挖掘階段的開發(fā)。</p><p>  基于挖掘階段,可分為三個(gè)部分。分別為模型建立、模型訓(xùn)練、模型的使用。</p><p>  3.3.1 模型建立</p><p>  使用DMX建立模型的意義主要在于告訴計(jì)算機(jī),你將以什么樣的算法提取出什么樣的模式來處理數(shù)據(jù)

95、,從而推演出新的范例。</p><p>  數(shù)據(jù)挖掘的過程是直接作用于事例和屬性的。在挖掘之前,必須要通過定義挖掘結(jié)構(gòu)和建立挖掘模型,把數(shù)據(jù)庫中數(shù)據(jù)表里的數(shù)據(jù)轉(zhuǎn)換成供挖掘的事例和屬性。</p><p>  挖掘結(jié)構(gòu)幫助定義挖掘模型時(shí)要依據(jù)的數(shù)據(jù)。它指定源數(shù)據(jù)視圖、列的數(shù)量和類型,指定算法和模式以及分為定型集和預(yù)測集的可選分區(qū),起一個(gè)描述符的作用。而挖掘模型是一個(gè)對象,它將數(shù)據(jù)行轉(zhuǎn)換為事例,

96、并使用特定的數(shù)據(jù)挖掘算法進(jìn)行計(jì)算機(jī)學(xué)習(xí)。</p><p>  用DMX建立模型的過程,就是數(shù)據(jù)挖掘過程里挖掘結(jié)構(gòu)定義的部分。</p><p>  在本次設(shè)計(jì)中,分別對兩個(gè)數(shù)據(jù)源進(jìn)行了數(shù)據(jù)挖掘模型的建立,建立過程的主要代碼見下(紅色部分為創(chuàng)建挖掘模型的DMX語言,黑色部分的是使用ADOMD.NET技術(shù)對多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語言):</p><p>  Ad

97、omdCommand cmd1 = new AdomdCommand();</p><p>  cmd1.Connection = conn;</p><p>  cmd1.CommandText = "create mining model cmm(xuhao long key,wuli long continuous,zhihui long continuous,shengf

98、en2 text discrete predict)</p><p>  //此處創(chuàng)建了一個(gè)名為cmm的數(shù)據(jù)挖掘模型、其中包含了xuhao、wuli、zhihui、shenfen2四列,它們的類型分別是long、long continues、longcontinues和text。其中需要特別注意的是前三列是定型集、shengfen2列是預(yù)測集。</p><p>  using micros

99、oft_decision_trees";//此處定義了所選擇的挖掘算法和處理模式</p><p>  cmd1.Execute();</p><p>  conn.Close();</p><p>  3.3.2 模型訓(xùn)練</p><p>  在模型的創(chuàng)建階段,定義了數(shù)據(jù)挖掘的模式,并描述了具體的事例和屬性。在模型訓(xùn)練階段,則是實(shí)際

100、的將AS型數(shù)據(jù)庫中的數(shù)據(jù)源一一對應(yīng)到模型中。在模型的訓(xùn)練階段,也需要指定所訓(xùn)練的挖掘結(jié)構(gòu),然后再插入對應(yīng)的源數(shù)據(jù)。</p><p>  在語法上,建立模型和訓(xùn)練模型十分相似。具體代碼見下(紅色部分為創(chuàng)建挖掘模型的DMX語言,黑色部分的是使用ADOMD.NET技術(shù)對多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語言):</p><p>  conn.Open(); </p><p&g

101、t;  AdomdCommand cmd2 = new AdomdCommand();</p><p>  cmd2.Connection = conn;</p><p>  cmd2.CommandText = "insert into mining model cmm</p><p>  //挖掘模型的名稱為cmm</p><p&g

102、t;  (xuhao,wuli,zhihui,shengfen2)</p><p>  select(sanguo,select xuhao,wuli,zhihui,shengfen from sanguo.dbo.[sanguozhi]')";</p><p>  //從sanguo數(shù)據(jù)庫的sanguozhi表中查找xuhao、wuli、zhihui、shenfen這4

103、列源數(shù)據(jù),以填充模型,完成對模型的訓(xùn)練。</p><p>  cmd2.Execute();</p><p>  conn.Close();</p><p>  3.3.3 模型使用(預(yù)測)</p><p>  完成模型的創(chuàng)建和訓(xùn)練后,則可使用模型進(jìn)行數(shù)據(jù)挖掘預(yù)測。預(yù)測期間源查詢中未提供得任何輸入都認(rèn)為是MISSING,Microsoft S

104、QL Server會將被定義為PREDICT的預(yù)測列自動認(rèn)為成是MISSING的,而如何處理缺失的數(shù)據(jù)是由各個(gè)數(shù)據(jù)挖掘算法決定的。</p><p>  從數(shù)據(jù)挖掘算法中需要先提取模式,然后便可使用提取的模式進(jìn)行審查,或推導(dǎo)出新范例的信息。而數(shù)據(jù)挖掘這一過程的難度則是以某種方式形成這些范例,從而使提取的模式是有用的、可提供信息的和準(zhǔn)確的。</p><p>  在用DMX語言預(yù)測模型的時(shí)候,因

105、為在Microsoft SQL Server中已經(jīng)集成了9種數(shù)據(jù)挖掘算法,它們將會對模型中的事例和屬性進(jìn)行模式的提取,從而推導(dǎo)出未知的PREDICT項(xiàng)的情況。</p><p>  模型使用(訓(xùn)練)過程的具體代碼見下(紅色部分為創(chuàng)建挖掘模型的DMX語言,黑色部分的是使用ADOMD.NET技術(shù)對多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語言):</p><p>  AdomdCommand cmd =

106、new AdomdCommand();</p><p>  cmd.Connection = conn;</p><p>  cmd.CommandText = "SELECT t.xuhao,t.[name],t.wuli,t.zhihui, t.shengfen,cmm.shengfen2 FROM cmm PREDICTION JOIN select(Sanguo,'

107、;SELECT [name], xuhao, wuli, zhihui, shengfen FROM dbo.sanguozhi') AS t ON cmm.wuli = t.wuli AND cmm.zhihui = t.zhihui AND t.shengfen=cmm.shengfen2";</p><p><b>  //</b></p><p

108、>  AdomdDataReader rdr = cmd.ExecuteReader();</p><p>  DataTable dtNew = new DataTable();</p><p>  dtNew.TableName = "sanguozhi";</p><p>  dtNew.Columns.Add("xuhao

109、", typeof(string));</p><p>  dtNew.Columns.Add("name", typeof(string));</p><p>  dtNew.Columns.Add("wuli", typeof(string));</p><p>  dtNew.Columns.Add("

110、;zhihui", typeof(string));</p><p>  dtNew.Columns.Add("shengfen", typeof(string));</p><p>  dtNew.Columns.Add("shengfen2", typeof(string));</p><p><b>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論