2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩27頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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>  專(zhuān)業(yè)班級(jí) 電子信息工程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ù)語(yǔ)解釋</p><p>  1.2 國(guó)內(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 常用開(kāi)發(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開(kāi)發(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語(yǔ)言和挖掘模型</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 決策樹(shù)和線性回歸算法</p><p>  第四章 調(diào)試測(cè)試結(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ù)存儲(chǔ)庫(kù)中,自動(dòng)地發(fā)現(xiàn)有用信息的過(guò)程。它用來(lái)探查大型數(shù)據(jù)庫(kù),發(fā)現(xiàn)先前未知的有用模式,并且還能預(yù)測(cè)未來(lái)觀測(cè)結(jié)果。數(shù)據(jù)挖掘的目的在于如何善用數(shù)據(jù),從運(yùn)營(yíng)歷史的記錄獎(jiǎng)勵(lì),挖掘出深藏其中的寶貴經(jīng)驗(yàn)。近年來(lái),隨著

11、數(shù)據(jù)挖掘技術(shù)的進(jìn)步發(fā)展,它在商業(yè)智能領(lǐng)域發(fā)揮了極大的作用。它成為將企業(yè)中現(xiàn)有的數(shù)據(jù)轉(zhuǎn)化為知識(shí),幫助企業(yè)做出明智的業(yè)務(wù)經(jīng)營(yíng)決策的工具。如何使數(shù)據(jù)挖掘技術(shù)更好地應(yīng)用于生活生產(chǎn)、交易決策活動(dòng)中,具有較高的研究?jī)r(jià)值。</p><p>  在本文中,從理論和實(shí)踐上分析了B/S架構(gòu)下利用ASP.NET技術(shù)開(kāi)發(fā)數(shù)據(jù)挖掘系統(tǒng)的可行性。展示了該系統(tǒng)對(duì)數(shù)據(jù)源進(jìn)行挖掘后得到的預(yù)測(cè)結(jié)果,并著重分析了對(duì)相同數(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語(yǔ)言對(duì)挖掘模型的訓(xùn)練,數(shù)據(jù)挖掘算法比較等。最后,本文通過(guò)上述研究成果,總結(jié)了該課題的研究過(guò)程并探索了該課題的深入方向。</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月在美國(guó)底特律召開(kāi)的第11屆國(guó)際人工智能聯(lián)合會(huì)議的專(zhuān)題討論會(huì)上首次出現(xiàn)KDD(Knowledge Discovery in Databases)這個(gè)術(shù)語(yǔ)。KDD,及知識(shí)發(fā)現(xiàn),是從數(shù)據(jù)集中識(shí)別出有效的、新穎的、潛在有用的,以及最終可理解的模式的一個(gè)過(guò)程。知識(shí)發(fā)現(xiàn)將信息變?yōu)橹R(shí),從數(shù)據(jù)礦山中找到蘊(yùn)藏的知識(shí)金塊,將為知識(shí)創(chuàng)新和知識(shí)經(jīng)濟(jì)的發(fā)展作出貢獻(xiàn)。</p><p>  為了將數(shù)據(jù)轉(zhuǎn)化為知識(shí),需要利用數(shù)據(jù)倉(cāng)庫(kù)

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

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

22、在技術(shù)中,發(fā)現(xiàn)的知識(shí)并不要求是放之四海而皆準(zhǔn)的通用模型,而僅僅要求它是能夠適用于特定的數(shù)據(jù)源的結(jié)果。</p><p>  數(shù)據(jù)挖掘使數(shù)據(jù)庫(kù)技術(shù)進(jìn)入了一個(gè)更高級(jí)的階段,它不僅能對(duì)過(guò)去的數(shù)據(jù)進(jìn)行查詢和遍歷,并且能夠找出過(guò)去數(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é)上,對(duì)于龐大的醫(yī)療信息記錄,數(shù)據(jù)挖掘技術(shù)可以從中挖掘出有用信息和規(guī)律,并將這些規(guī)律用于醫(yī)生的診斷過(guò)程、對(duì)潛在的高患病率的人群進(jìn)行排查和預(yù)防、以及幫助政府制定醫(yī)療政策、社區(qū)群體進(jìn)行醫(yī)療防護(hù)等方面。</p><p>  在司法政治領(lǐng)域,數(shù)據(jù)挖掘技術(shù)也可以通過(guò)分析固定人群的信息數(shù)據(jù),從而預(yù)測(cè)出人們的行為模式,從而更好的幫助人們做出升學(xué)、置業(yè)

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

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

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

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

28、屬于Association rule learning)的信息的過(guò)程。用來(lái)探查大型數(shù)據(jù)庫(kù),發(fā)現(xiàn)先前未知的有用模式,并且還能預(yù)測(cè)未來(lái)觀測(cè)結(jié)果。</p><p> ?。?)商業(yè)智能:商業(yè)智能描述了一系列的概念和方法,通過(guò)應(yīng)用基于事實(shí)的支持系統(tǒng)來(lái)輔助商業(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ù)中存在的趨勢(shì)和模式,然后使用這些趨勢(shì)和模式對(duì)業(yè)務(wù)難題作出明智決策。</p><p> ?。?)SSIS(SQL Server Integration Services ):即微軟SQL服務(wù)器集成服務(wù)。是用于生成企業(yè)級(jí)數(shù)據(jù)集成和數(shù)據(jù)轉(zhuǎn)換解決方案的平臺(tái)。</p><p><b>  國(guó)內(nèi)外研究情況</b><

31、;/p><p>  1.2.1 B/S模式研究情況</p><p>  B/S是Brower/Server的縮寫(xiě),它是在C/S模式的基礎(chǔ)上發(fā)展起來(lái)的一種網(wǎng)絡(luò)架構(gòu)技術(shù),近年來(lái)隨著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ù)庫(kù)和所需要的處理工具。用戶即可通過(guò)Web Server瀏覽器同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。</p><p>  相比傳統(tǒng)的C/S模式,B/S模式具有維護(hù)和升級(jí)方式簡(jiǎn)單、成本低的優(yōu)點(diǎn)。它可以在任何地方進(jìn)行操作而不用安裝任何專(zhuān)門(mén)的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,無(wú)需維護(hù)客戶端。</p><p>  在這種結(jié)構(gòu)下,用戶

33、界面完全通過(guò)WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),形成由表現(xiàn)層(UI)、業(yè)務(wù)邏輯層(BLL)、數(shù)據(jù)訪問(wèn)層(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)系見(jiàn)圖一:</p><p>  圖一 B/S模式結(jié)構(gòu)圖</p><p> 

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

35、示成WINFORM方式,WEB方式也可以表現(xiàn)成:aspx,如果邏輯層相當(dāng)強(qiáng)大和完善,無(wú)論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。</p><p>  B/S結(jié)構(gòu),利用了不斷成熟的WWW瀏覽器技術(shù),結(jié)合瀏覽器的多種Script語(yǔ)言(VBScript、JavaScript…)和ActiveX技術(shù),用通用瀏覽器就實(shí)現(xiàn)了原來(lái)需要復(fù)雜專(zhuān)用軟件才能實(shí)現(xiàn)的強(qiáng)大功能,并節(jié)約了開(kāi)發(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)用程序相對(duì)于傳統(tǒng)的C/S結(jié)構(gòu)應(yīng)用程序?qū)⑹蔷薮蟮倪M(jìn)步。</p><p>  1.3.2數(shù)據(jù)挖掘研究情況</p><p>  數(shù)據(jù)庫(kù)中發(fā)現(xiàn)知識(shí)一詞從首次出現(xiàn)于1989年在美國(guó)底特律召開(kāi)的第十一屆國(guó)際聯(lián)合人工智能學(xué)術(shù)會(huì)議上,到1995年在加拿大蒙特利爾召開(kāi)的首屆KD

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

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

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

40、商業(yè)價(jià)值。例如,國(guó)內(nèi)很多網(wǎng)上商城已經(jīng)開(kāi)始使用數(shù)據(jù)挖掘技術(shù)進(jìn)行客戶聚類(lèi)或者商品關(guān)聯(lián)推廣。</p><p>  展望未來(lái),Gartner的報(bào)告已經(jīng)指出,數(shù)據(jù)挖掘會(huì)成為未來(lái)10年內(nèi)重要的技術(shù)之一。網(wǎng)絡(luò)化時(shí)代使得信息膨脹成為必然,如何準(zhǔn)確、高效地從豐富而膨脹的數(shù)據(jù)中篩選出對(duì)經(jīng)營(yíng)決策有用的信息已經(jīng)成為企業(yè)和機(jī)構(gòu)迫切需要解決的問(wèn)題。</p><p>  未來(lái)的數(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)有用的信息和知識(shí)。</p><p>  (2)云計(jì)算:目前云計(jì)算的相關(guān)應(yīng)用主要有云物聯(lián)、云安全、云存儲(chǔ)。云存儲(chǔ)是在云計(jì)算(cloud computing)概念上延伸和發(fā)展出來(lái)的新概念,是指通過(guò)集群應(yīng)用、網(wǎng)格技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量

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

43、。其中最為核心的部分是建模與挖掘體系,它主要是根據(jù)挖掘主題和目標(biāo),通過(guò)挖掘算法和相關(guān)技術(shù)(如統(tǒng)計(jì)學(xué)、人工智能、數(shù)據(jù)庫(kù)、相關(guān)軟件技術(shù)等),對(duì)數(shù)據(jù)進(jìn)行分析,挖掘出數(shù)據(jù)之間內(nèi)在的聯(lián)系和潛在的規(guī)律。大體上,數(shù)據(jù)挖掘應(yīng)用集成可分為幾類(lèi):數(shù)據(jù)挖掘算法的集成、數(shù)據(jù)挖掘與數(shù)據(jù)庫(kù)的集成、數(shù)據(jù)挖掘與數(shù)據(jù)倉(cāng)庫(kù)的集成、數(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瀏覽的方式對(duì)數(shù)據(jù)進(jìn)行查看和分析,并且實(shí)現(xiàn)數(shù)據(jù)預(yù)測(cè)功能,并且界面友好、操作簡(jiǎn)單。</p><p><b>  系統(tǒng)功能性要求</b></p><p

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

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

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

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

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

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

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

52、lt;p> ?。?)針對(duì)特定功能或產(chǎn)業(yè)而研發(fā)的軟件。如KDI(針對(duì)零售行業(yè))、Options&Choices(針對(duì)保險(xiǎn)業(yè))、HNC(針對(duì)銀行信用卡欺詐或壞賬檢測(cè))等</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)用程序。用戶通過(guò)瀏覽器訪問(wèn)服務(wù)器,查看相關(guān)信息。</p><p>  Active Server Pages(ASP)提供服務(wù)器端腳本編寫(xiě)

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

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

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

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

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

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

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

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

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ù)挖掘算法,通過(guò)調(diào)用這些算法,就可以在一定程度上避免在數(shù)據(jù)挖掘過(guò)程中的復(fù)雜算法設(shè)計(jì)。在BI組件中,可以提供數(shù)據(jù)挖掘通過(guò)預(yù)測(cè)未來(lái)趨勢(shì)

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

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

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

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

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

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

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

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

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

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

73、底層的數(shù)據(jù)庫(kù)部分,它位于服務(wù)器端。該部分是SQL SERVER ANALYSIS SERVICE型的數(shù)據(jù)庫(kù),該類(lèi)型的數(shù)據(jù)庫(kù)是專(zhuān)門(mén)用于SQL數(shù)據(jù)分析的數(shù)據(jù)倉(cāng)庫(kù)。在此模塊中,還內(nèi)部集成了Microsoft SQL Server中的一些常用的數(shù)據(jù)挖掘算法,通過(guò)DMX語(yǔ)言對(duì)數(shù)據(jù)倉(cāng)庫(kù)中的數(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>  使用者從瀏覽器端打開(kāi)此系統(tǒng),首先會(huì)顯示出系統(tǒng)的歡迎頁(yè)面(見(jiàn)圖四)。點(diǎn)擊DMX數(shù)據(jù)挖掘即可進(jìn)入挖掘系統(tǒng)。在挖掘系統(tǒng)中,首先會(huì)展示系統(tǒng)中的源數(shù)據(jù),包括一個(gè)三國(guó)志4游戲人物的特征數(shù)據(jù)表和一個(gè)高中學(xué)生考學(xué)情況

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

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

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

78、p><p>  系統(tǒng)的主要邏輯代碼都集中在這個(gè)模塊的設(shè)計(jì)中。在VS中設(shè)計(jì)了4個(gè)aspx文件,對(duì)四種挖掘組合進(jìn)行編程。</p><p>  此處選取其中的一種情況,結(jié)合源代碼解釋一下開(kāi)發(fā)方式。其他三種情況是類(lèi)同的,就不一一介紹了。</p><p>  首先,需要編寫(xiě)數(shù)據(jù)庫(kù)的連接代碼。</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ù)庫(kù)后,需要用DMX語(yǔ)言處理挖掘模型,具體方法在下一節(jié)詳細(xì)介紹。數(shù)據(jù)挖掘預(yù)測(cè)完畢之后,要以表格形式顯示相關(guān)的數(shù)據(jù)結(jié)果

83、,顯示結(jié)果的代碼部分見(jiàn)下:</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ù)列對(duì)象的列名稱(chēng)</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é)果顯示完畢之后,用戶可以通過(guò)首頁(yè)按鈕返回系統(tǒng)首頁(yè),然后重新選擇其他的數(shù)據(jù)源和算法。</p><p>  3.3 數(shù)據(jù)挖掘模型建立和訓(xùn)練</p><p>  本次設(shè)計(jì)中,需要使用DMX(Data Mining Extension)語(yǔ)言,DMX的意義在于為數(shù)據(jù)挖掘定義統(tǒng)一的概念和統(tǒng)一的查詢表達(dá)方式,它如同與數(shù)據(jù)庫(kù)中SQL語(yǔ)言所起的作用。D

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

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

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

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

96、并使用特定的數(shù)據(jù)挖掘算法進(jìn)行計(jì)算機(jī)學(xué)習(xí)。</p><p>  用DMX建立模型的過(guò)程,就是數(shù)據(jù)挖掘過(guò)程里挖掘結(jié)構(gòu)定義的部分。</p><p>  在本次設(shè)計(jì)中,分別對(duì)兩個(gè)數(shù)據(jù)源進(jìn)行了數(shù)據(jù)挖掘模型的建立,建立過(guò)程的主要代碼見(jiàn)下(紅色部分為創(chuàng)建挖掘模型的DMX語(yǔ)言,黑色部分的是使用ADOMD.NET技術(shù)對(duì)多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語(yǔ)言):</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四列,它們的類(lèi)型分別是long、long continues、longcontinues和text。其中需要特別注意的是前三列是定型集、shengfen2列是預(yù)測(cè)集。</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ù)庫(kù)中的數(shù)據(jù)源一一對(duì)應(yīng)到模型中。在模型的訓(xùn)練階段,也需要指定所訓(xùn)練的挖掘結(jié)構(gòu),然后再插入對(duì)應(yīng)的源數(shù)據(jù)。</p><p>  在語(yǔ)法上,建立模型和訓(xùn)練模型十分相似。具體代碼見(jiàn)下(紅色部分為創(chuàng)建挖掘模型的DMX語(yǔ)言,黑色部分的是使用ADOMD.NET技術(shù)對(duì)多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語(yǔ)言):</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>  //挖掘模型的名稱(chēng)為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ù)庫(kù)的sanguozhi表中查找xuhao、wuli、zhihui、shenfen這4

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

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

105、為在Microsoft SQL Server中已經(jīng)集成了9種數(shù)據(jù)挖掘算法,它們將會(huì)對(duì)模型中的事例和屬性進(jìn)行模式的提取,從而推導(dǎo)出未知的PREDICT項(xiàng)的情況。</p><p>  模型使用(訓(xùn)練)過(guò)程的具體代碼見(jiàn)下(紅色部分為創(chuàng)建挖掘模型的DMX語(yǔ)言,黑色部分的是使用ADOMD.NET技術(shù)對(duì)多維數(shù)據(jù)集的連接和接收數(shù)據(jù)的C#語(yǔ)言):</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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論