棗品質(zhì)決策系統(tǒng)決策樹(shù)生成與果實(shí)評(píng)估大學(xué)本科畢業(yè)論文_第1頁(yè)
棗品質(zhì)決策系統(tǒng)決策樹(shù)生成與果實(shí)評(píng)估大學(xué)本科畢業(yè)論文_第2頁(yè)
棗品質(zhì)決策系統(tǒng)決策樹(shù)生成與果實(shí)評(píng)估大學(xué)本科畢業(yè)論文_第3頁(yè)
棗品質(zhì)決策系統(tǒng)決策樹(shù)生成與果實(shí)評(píng)估大學(xué)本科畢業(yè)論文_第4頁(yè)
棗品質(zhì)決策系統(tǒng)決策樹(shù)生成與果實(shí)評(píng)估大學(xué)本科畢業(yè)論文_第5頁(yè)
已閱讀5頁(yè),還剩19頁(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)介

摘要棗因其營(yíng)養(yǎng)價(jià)值高,易種植,耐存活且在不同地域擁有不同特色而成為許多地方特別是山區(qū)高原致富之道,但由于技術(shù)方面的欠缺使得果農(nóng)無(wú)法用專業(yè)知識(shí)去評(píng)估自己手中果實(shí)的品質(zhì)和正確價(jià)值導(dǎo)向,由此帶來(lái)一系列問(wèn)題,信息消息的滯后導(dǎo)致農(nóng)戶盲目種植,產(chǎn)品積壓,銷售停滯。因此就要找到相關(guān)途徑,知己之道,才能讓棗農(nóng)更快發(fā)展富裕起來(lái)。由此需求設(shè)計(jì)了《棗品質(zhì)決策系統(tǒng)》,它是依托當(dāng)前信息的網(wǎng)絡(luò)化、快速化,使用網(wǎng)絡(luò)評(píng)估果實(shí)品質(zhì),給出相關(guān)建議等服務(wù)為前提的綜合信息評(píng)估服務(wù)系統(tǒng)的設(shè)計(jì)。實(shí)現(xiàn)通過(guò)Internet互聯(lián)網(wǎng)對(duì)專家和果農(nóng)給出的信息數(shù)據(jù)的采集整理生成決策樹(shù),進(jìn)行相關(guān)評(píng)估工作。通過(guò)《棗品質(zhì)決策系統(tǒng)》進(jìn)行果實(shí)評(píng)估給出建議,方便即果農(nóng)專家進(jìn)行相關(guān)工作,又減少成本??s短果農(nóng)與專家的距離。在此項(xiàng)目中選擇了JavaWeb作為開(kāi)發(fā)語(yǔ)言,用到了面向?qū)ο蟮拈_(kāi)發(fā)思想和mvc設(shè)計(jì)模式的設(shè)計(jì)理念。在接口設(shè)計(jì)上,實(shí)現(xiàn)了數(shù)據(jù)封裝和信息隱藏。關(guān)鍵字:棗品質(zhì)評(píng)估、決策樹(shù)分析、JavaWeb、mvc模式、數(shù)據(jù)挖掘。

AbstractDatesbecauseofitshighnutritionalvalue,easytogrow,resistancetosurviveandindifferentregionshavedifferentcharacteristicsandbecomerichinmanyplaces,especiallyinmountainousplateau,butduetothelackoftechnologymakethefruitcannotuseprofessionalknowledgetoevaluatethequalityoftheirownhandsthefruitandthecorrectvalueguidance,leadingtoaseriesofproblems,informationmessagesdelayleadtofarmersplantingblindly,productbacklog,salesstalled.Sowillfindrelevantway,bosomfriend,togetthemostrichfasterdevelopment.Thusdemand"jujubequalitydecisionsystemisdesigned,itisrelyingonthecurrentinformationnetwork,rapidness,usingthenetworkevaluatingfruitquality,andprovideadviceandotherservicesastheprerequisiteofcomprehensiveassessmentinformationservicesystemdesign.ImplementationthroughtheInternetInternetforexpertsandfruitgiveinformationdatacollectiontogeneratethedecisiontree,relatedtotheassessmentwork.Throughthejujubequalitydecision-makingsystemtoevaluatefruitrecommendations,namelyfruitexpertsforarelatedwork,andreducecosts.Shortenthedistanceofgrowersandexperts.InthisprojectweselectJavaWebasadevelopmentlanguage,usetheobject-orienteddevelopmentthoughtandthedesignconceptoftheMVCdesignpattern.Intheinterfacedesign,realizedthedataencapsulationandinformationhiding.Keywords:Jujubequalityassessment,decisiontreeanalysis,JavaWeb,MVCmode,datamining.目錄1.引言 11.1背景和意義 11.1.1背景 11.1.2意義 11.2國(guó)內(nèi)外的現(xiàn)狀 11.3本文的重點(diǎn) 22.技術(shù)支持 32.1開(kāi)發(fā)工具和環(huán)境 32.1.1開(kāi)發(fā)工具選擇 32.1.2運(yùn)行環(huán)境 42.2用JDBC連接數(shù)據(jù)庫(kù)的方法 42.3決策樹(shù)算法 43.需求分析與概要設(shè)計(jì) 63.1需求分析 63.1.1條件和限制 63.1.2功能需求 63.2概要設(shè)計(jì) 63.2.1系統(tǒng)總體分析 63.2.2按模塊分總體設(shè)計(jì) 73.2.3按各模塊間關(guān)系 83.2.4系統(tǒng)模塊劃分 84.詳細(xì)設(shè)計(jì)及實(shí)現(xiàn) 94.1設(shè)計(jì)說(shuō)明 94.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì) 94.2.1數(shù)據(jù)結(jié)構(gòu) 94.3決策流程 114.3.2模塊流程圖 124.4決策樹(shù)實(shí)現(xiàn) 134.4.1系統(tǒng)設(shè)計(jì)模式 134.4.2數(shù)據(jù)庫(kù)信息獲取方法 134.4.3系統(tǒng)拓展實(shí)現(xiàn) 144.4.4接口的設(shè)計(jì) 154.4.5后臺(tái)包及設(shè)計(jì) 164.4.6異常處理 174.4.7出現(xiàn)的問(wèn)題以及解決方法 175結(jié)論 185.1技術(shù)特點(diǎn) 185.2缺點(diǎn)及不足 185.3系統(tǒng)擴(kuò)展 185.4總結(jié) 18致謝 19參考文獻(xiàn) 201.引言本系統(tǒng)是面向?qū)<液娃r(nóng)戶,基于中小型數(shù)據(jù)庫(kù)數(shù)據(jù)挖掘工具。它基于語(yǔ)言開(kāi)發(fā),不但操作簡(jiǎn)單,界面友好,易于操作,實(shí)用性強(qiáng);同時(shí)還能夠跨平臺(tái)運(yùn)行。1.1背景和意義1.1.1背景棗本身的功能價(jià)值賦予的,棗的補(bǔ)血、美容、保健、營(yíng)養(yǎng)、抗癌、抗疲勞、鎮(zhèn)靜、護(hù)發(fā)、降脂、降糖、養(yǎng)生等等效果符合現(xiàn)代人追求的時(shí)尚要素國(guó)務(wù)院總理溫家寶3月5日在十二屆全國(guó)人大一次會(huì)議上作政府工作報(bào)告時(shí)提出,要促進(jìn)農(nóng)業(yè)穩(wěn)定發(fā)展和農(nóng)民持續(xù)增收。堅(jiān)持把解決好“三農(nóng)”問(wèn)題作為各項(xiàng)工作的重中之重。黨的十六大以來(lái),黨中央明確要把解決好“三農(nóng)”問(wèn)題放在全黨工作重中之重的位置,著力統(tǒng)籌城鄉(xiāng)經(jīng)濟(jì)社會(huì)發(fā)展,加快形成城鄉(xiāng)發(fā)展一體化新格局。黨的十八大從中國(guó)特色社會(huì)主義事業(yè)總體布局出發(fā),推出了“促進(jìn)工業(yè)化、信息化、城鎮(zhèn)化、農(nóng)業(yè)現(xiàn)代化同步發(fā)展”,明確“城鄉(xiāng)發(fā)展一體化”是解決“三農(nóng)”問(wèn)題的根本途徑。隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速崛起,計(jì)算機(jī)日漸深刻的在改變著人們的生產(chǎn)生活方式。而互聯(lián)網(wǎng)已日益成為收集提供信息的最佳渠道,并逐步進(jìn)入科學(xué)種植決策領(lǐng)域。1.1.2意義棗樹(shù)的種植區(qū)域地理環(huán)境和人文環(huán)境特征賦予的,棗樹(shù)的種植不僅僅有它的經(jīng)濟(jì)意義,更有重要的環(huán)境意義和社會(huì)價(jià)值,棗樹(shù)種植的區(qū)域主要分布在我過(guò)干旱、半干旱、風(fēng)沙荒漠化和土地鹽堿化的區(qū)域,棗樹(shù)的種植可以極大的改善這些區(qū)域的生態(tài)環(huán)境,符合人類與自然和諧相處的命題,同時(shí)這些區(qū)域主要為中國(guó)經(jīng)濟(jì)發(fā)展相對(duì)滯后的區(qū)域,是我國(guó)改善這些區(qū)域人民生活環(huán)境、提高他們生活水平,增加收入來(lái)源的重要抓手,對(duì)于縮小區(qū)域經(jīng)濟(jì)差異,促進(jìn)經(jīng)濟(jì)和諧發(fā)展有著重要意義。1.2國(guó)內(nèi)外的現(xiàn)狀過(guò)去的二十年,傳統(tǒng)信息隨著應(yīng)用領(lǐng)域增多以電子格式存儲(chǔ)的數(shù)據(jù)在量上有了戲劇性的增長(zhǎng)。數(shù)據(jù)的累積量已經(jīng)在以指數(shù)性的速率遞增。人們已經(jīng)評(píng)估出世界上信息的數(shù)量每二十個(gè)月翻一番,并且數(shù)據(jù)庫(kù)的數(shù)量與大小正在以更快的速度增長(zhǎng)。諸如"物種屬性"或遠(yuǎn)程移動(dòng)設(shè)備等的電子數(shù)據(jù)采集設(shè)備的增長(zhǎng)更加劇了可用數(shù)據(jù)的增加。如何有效地獲取和利用這些平時(shí)的采樣數(shù)據(jù),并且變數(shù)據(jù)為知識(shí),是我們研究的主要課題。數(shù)據(jù)挖掘的發(fā)展歷史是建立在相關(guān)學(xué)科發(fā)展的基礎(chǔ)上的。隨著數(shù)據(jù)庫(kù)技術(shù)的發(fā)展及應(yīng)用,人們積累的數(shù)據(jù)越來(lái)越多。激增的數(shù)據(jù)背后隱藏著許多重要的信息,簡(jiǎn)單的查詢和統(tǒng)計(jì)已經(jīng)無(wú)法滿足商業(yè)的需求,需要出現(xiàn)一種挖掘數(shù)據(jù)背后隱藏的知識(shí)的手段。決策樹(shù)通過(guò)用數(shù)據(jù)庫(kù)管理系統(tǒng)來(lái)存儲(chǔ)數(shù)據(jù),用機(jī)器學(xué)習(xí)的方法來(lái)分析數(shù)據(jù),挖掘大量數(shù)據(jù)背后的知識(shí),這兩者的結(jié)合促成了數(shù)據(jù)庫(kù)中的知識(shí)發(fā)現(xiàn)(KDD:KnowledgeDiscoveryinDatabases)的產(chǎn)生。數(shù)據(jù)挖掘(DM:DataMining)是知識(shí)發(fā)現(xiàn)(KDD)最核心的部分。1998年第四屆知識(shí)發(fā)現(xiàn)與數(shù)據(jù)挖掘國(guó)際學(xué)術(shù)會(huì)議上不僅進(jìn)行了學(xué)術(shù)討論,并且有30多家軟件公司展示了他們的數(shù)據(jù)挖掘軟件產(chǎn)品,不少軟件已在北美、歐洲等國(guó)得到應(yīng)用。經(jīng)歷十多年的發(fā)展,數(shù)據(jù)挖掘已經(jīng)成為一個(gè)自成體系的應(yīng)用學(xué)科。數(shù)據(jù)挖掘應(yīng)用的主要對(duì)象是海量數(shù)據(jù),從基礎(chǔ)的數(shù)據(jù)條件來(lái)看,電信、金融機(jī)構(gòu)和政府稅務(wù)部門(mén)都已具備。所以數(shù)據(jù)挖掘技術(shù)興起不久,特別是成熟的軟件產(chǎn)品問(wèn)世后,立刻就在在這些領(lǐng)域里得到了廣泛的應(yīng)用。比如說(shuō)政府機(jī)關(guān)的稅務(wù)部門(mén),國(guó)家的宏觀政策上已經(jīng)在金稅四期的工程里提到用數(shù)據(jù)挖掘的方法來(lái)解決目前困擾稅務(wù)機(jī)關(guān)的納稅評(píng)估和稽查選案的兩大問(wèn)題,而且也有一部分地市作為帶頭人開(kāi)始使用數(shù)據(jù)挖掘工具。作為決策支持系統(tǒng)的一個(gè)重要組成部分,數(shù)據(jù)挖掘已經(jīng)越來(lái)越成為近年來(lái)國(guó)內(nèi)外稅務(wù)部門(mén)關(guān)注的焦點(diǎn)之一。在此,我們也可以借鑒一下國(guó)外稅務(wù)機(jī)關(guān)使用數(shù)據(jù)挖掘的先進(jìn)經(jīng)驗(yàn):1、Texas州的稅務(wù)稽查人員需要確保聯(lián)邦稅法在存在欺詐和不服從的納稅人也可以得到有效得執(zhí)行。40萬(wàn)個(gè)納稅人每年得特許稅(Franchisetax)和營(yíng)業(yè)稅征收額都在1億9千萬(wàn)美圓以上。采用數(shù)據(jù)挖掘方法,每年Texas州利用數(shù)據(jù)挖掘技術(shù)從未申報(bào)的稅收中發(fā)現(xiàn)百萬(wàn)計(jì)的偷逃稅款。2、美國(guó)華盛頓國(guó)家稅務(wù)局通過(guò)建立數(shù)據(jù)倉(cāng)庫(kù)并進(jìn)行相應(yīng)的挖掘工作,把最先只能對(duì)100個(gè)左右的公司進(jìn)行稽查工作,通過(guò)數(shù)據(jù)挖掘進(jìn)行稽查選案工作,大大提高了對(duì)稽查選案時(shí)的準(zhǔn)確性和稽查額度,節(jié)約了稽查成本并使稽查成果大幅提高。雖然在我們探討研究的同時(shí)還需要逐漸完善,但是數(shù)據(jù)挖掘作為一門(mén)學(xué)科正從原來(lái)的邊緣學(xué)科轉(zhuǎn)變成為一門(mén)成熟學(xué)科,同時(shí),伴隨著信息化技術(shù)的發(fā)展,數(shù)據(jù)挖掘的技術(shù)也逐漸趨于成熟,國(guó)外的專業(yè)雜志-麻省理工學(xué)院的《科技評(píng)論》去年提出未來(lái)5年對(duì)人類產(chǎn)生重大影響的10大新興技術(shù),“數(shù)據(jù)挖掘”位居第三。從以上數(shù)據(jù)挖掘發(fā)展的歷史和未來(lái)的前景來(lái)看,數(shù)據(jù)挖掘技術(shù)現(xiàn)在已經(jīng)處于一個(gè)相對(duì)成熟的階段。這為我們查詢和分析工具的設(shè)計(jì)提供了很好的技術(shù)支持。同時(shí)面向?qū)ο缶幊碳夹g(shù)的應(yīng)用,使得系統(tǒng)有了更加靈活的擴(kuò)展性,從而使各個(gè)模塊間的耦合性大大降低,提高了系統(tǒng)的聚合性。同時(shí)基于面向?qū)ο蟮脑O(shè)計(jì)模式和重構(gòu)方法的應(yīng)用,使得系統(tǒng)的維護(hù)和擴(kuò)展變的更加容易。1.3本文的重點(diǎn)敘述如何使用MVC的框架,用ID3算法實(shí)現(xiàn)決策樹(shù),并用實(shí)際數(shù)據(jù)進(jìn)行評(píng)估。2.技術(shù)支持2.1開(kāi)發(fā)工具和環(huán)境通過(guò)MVC結(jié)構(gòu)添加相關(guān)樣本數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫(kù),后臺(tái)生成相應(yīng)決策樹(shù),用戶通過(guò)前臺(tái)確定相關(guān)的查詢數(shù)據(jù),通過(guò)決策樹(shù)評(píng)估得到由該品種的品質(zhì)等級(jí)。專家用戶可以進(jìn)行樣本數(shù)據(jù)查看,增加和刪除,也可以自己通過(guò)選擇相應(yīng)的屬性建立決策樹(shù)判斷某些屬性對(duì)決策結(jié)果的影響。2.1.1開(kāi)發(fā)工具選擇當(dāng)前開(kāi)發(fā)此類工具的語(yǔ)言很多,比如:JAVA,VB,C++,NET…在這些語(yǔ)言當(dāng)中,要想開(kāi)發(fā)一個(gè)功能完善、界面友好、移植性好、擴(kuò)展性好的系統(tǒng)并不是所有語(yǔ)言都能滿足的。首先看VB語(yǔ)言:VB在用戶界面開(kāi)發(fā)方面有很大優(yōu)勢(shì),比如:操作簡(jiǎn)單,可視化強(qiáng)。但是它沒(méi)有脫離開(kāi)面向過(guò)程的編程模式,可擴(kuò)展行和維護(hù)性很差。而且不支持B/S模式。C++雖然既支持面向?qū)ο缶幊?,同時(shí)又支持面向過(guò)程編程。然而面向?qū)ο蟛糠纸Y(jié)構(gòu)復(fù)雜,而且并不能支持B/S模式。.NET架構(gòu)不但支持面向?qū)ο缶幊?,而且同時(shí)支持B/S模式和C/S模式,按說(shuō)是系統(tǒng)選擇的對(duì)象,然而不能實(shí)現(xiàn)跨平臺(tái)運(yùn)行導(dǎo)致的低移植性是它的致命缺點(diǎn)。最后,我們把選擇了java。Java語(yǔ)言與其他語(yǔ)言相比有一下優(yōu)點(diǎn):可移植性與結(jié)構(gòu)中立——結(jié)構(gòu)中立,平臺(tái)無(wú)關(guān);對(duì)網(wǎng)絡(luò)編程,單系統(tǒng)軟件發(fā)布有用。分布式——對(duì)象可以在本地或遠(yuǎn)程系統(tǒng)中。安全性——并不允許程序訪問(wèn)所有的計(jì)算機(jī)內(nèi)存和磁盤(pán)空間。健壯性——Java便一起可以在編譯時(shí)自行檢測(cè)許多問(wèn)題,而別的語(yǔ)言只有運(yùn)行時(shí)才檢測(cè),Java不支持指針?biāo)惴?,不?huì)有不良的指針管理引起的內(nèi)存泄露或者內(nèi)存錯(cuò)誤。多線程——可以同時(shí)執(zhí)行多個(gè)任務(wù)。動(dòng)態(tài)性——足夠多的運(yùn)行時(shí)類型信息,用于在運(yùn)行時(shí)校驗(yàn)對(duì)象。這使得在一種安全有效的方式下動(dòng)態(tài)的連接代碼成為可能。在設(shè)計(jì)模式上選用MVC設(shè)計(jì)模式:當(dāng)用戶有請(qǐng)求提交時(shí),所有請(qǐng)求都會(huì)交給Servlet進(jìn)行處理,然后由Servlet調(diào)用JavaBean,并將JavaBean的操作結(jié)果通過(guò)RequestDispatcher接口傳遞到JSP頁(yè)面上。由于這些要顯示的內(nèi)容只是在一次請(qǐng)求-回應(yīng)中有效,所以在MVC設(shè)計(jì)模式中,所有的屬性傳遞都將使用request屬性范圍傳遞,這樣可以提升代碼的操作性能。2.1.2運(yùn)行環(huán)境操作系統(tǒng):Windows系列,內(nèi)存128M以上,硬盤(pán)1G以上Java虛擬機(jī)版本:jdk1.7.0目前系統(tǒng)可支持的數(shù)據(jù)庫(kù):SqlServer??捎脼g覽器:默認(rèn)為Ie瀏覽器(支持javascript腳本)。Office:使用excel20032.2用JDBC連接數(shù)據(jù)庫(kù)的方法通過(guò)java可以有兩種方式連接數(shù)據(jù)庫(kù):JDBC和ODBC,但是因?yàn)镺DBC是一個(gè)C語(yǔ)言接口,所以O(shè)DBC在Java中直接使用不適當(dāng)。因?yàn)閺腏ava中來(lái)調(diào)用C代碼在安全性,健壯性,實(shí)現(xiàn)的方便,可移植性等方面有許多不便。它使得Java在這些方面的許多優(yōu)點(diǎn)得不到發(fā)揮。于是我們選擇了JDBC與數(shù)據(jù)庫(kù)連接。Jdbc是Sun提供的一套數(shù)據(jù)庫(kù)編程接口API函數(shù),由Java語(yǔ)言編寫(xiě)的類、界面組成。用寫(xiě)的程序能夠自動(dòng)地將SQL語(yǔ)句傳送給相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)。JDBC連接數(shù)據(jù)庫(kù)方法圖2-1:圖2-1:JDBC連接數(shù)據(jù)庫(kù)方法2.3決策樹(shù)算法采用ID3決策樹(shù)算法造決策樹(shù)的基本算法是貪心算法,它以自頂向下遞歸的各個(gè)擊破方式構(gòu)造決策樹(shù)。一種著名的決策樹(shù)算法是ID3,算法的基本策略如下:①創(chuàng)建一個(gè)節(jié)點(diǎn)。如果樣本都在同一類,則算法停止,把該節(jié)點(diǎn)改成樹(shù)葉節(jié)點(diǎn),并用該類標(biāo)記。②否則,選擇一個(gè)能夠最好的將訓(xùn)練集分類的屬性,該屬性作為該節(jié)點(diǎn)的測(cè)試屬性。③對(duì)測(cè)試屬性中的每一個(gè)值,創(chuàng)建相應(yīng)的一個(gè)分支,并據(jù)此劃分樣本。④使用同樣的過(guò)程,自頂向下的遞歸,直到滿足下面的三個(gè)條件中的一個(gè)時(shí)就停止遞歸。給定節(jié)點(diǎn)的所有樣本都屬于同一類。沒(méi)有剩余的屬性可以用來(lái)劃分。分支沒(méi)有樣本。設(shè)S是s個(gè)數(shù)據(jù)樣本的集合。假定類標(biāo)號(hào)屬性具有m個(gè)不同值,定義m個(gè)不同類Ci(i=1,2,…,m)。設(shè)si是類Ci中的樣本數(shù)。對(duì)一個(gè)給定的樣本分類所需要的期望信息由下式給出:其中pi是任意樣本屬于Ci的概率,并用si/s估計(jì)。設(shè)屬性A具有v個(gè)不同值{a1,a2,…,av}??梢杂脤傩訟將S劃分為v個(gè)子集{S1,S2,…,SV};其中,Sj包含S中這樣一些樣本,它們?cè)贏上具有值aj。如果A選作測(cè)試屬性(即最好的分裂屬性),則這些子集對(duì)應(yīng)于由包含集合S的節(jié)點(diǎn)生長(zhǎng)出來(lái)的分枝。設(shè)sij是子集Sj中類Ci的樣本數(shù)。根據(jù)由A劃分成子集的熵或期望信息由下式給出:其中,是第j個(gè)子集的權(quán),并且等于子集(即A值為aj)中的樣本個(gè)數(shù)除以S中的樣本總數(shù)。熵值越小,子集劃分的純度越高。注意,對(duì)于給定的子集Sj,其中,是Sj中的樣本屬于類Ci的概率。在A上分枝將獲得的編碼信息是。Gain(A)稱為信息增益,它是由于知道屬性A的值而導(dǎo)致的熵的期望壓縮。具有最高信息增益的屬性選作給定集合S的測(cè)試屬性。創(chuàng)建一個(gè)節(jié)點(diǎn),并以該屬性標(biāo)記,對(duì)屬性的每個(gè)值創(chuàng)建分枝,并據(jù)此劃分樣本。3.需求分析與概要設(shè)計(jì)3.1需求分析3.1.用戶必須登錄進(jìn)入相關(guān)角色才能使用相關(guān)權(quán)限的功能,樣本數(shù)據(jù)庫(kù)默認(rèn)必須至少有一個(gè)樣本值。3.1.功能劃分:用戶增刪改查,個(gè)人信息修改。樣本數(shù)據(jù)的錄入,導(dǎo)出,刪除。顯示樣本數(shù)據(jù),樣本數(shù)據(jù)值與含義轉(zhuǎn)換。樣本數(shù)據(jù)生成相關(guān)決策樹(shù)。輸入相應(yīng)屬性通過(guò)決策樹(shù)分析評(píng)估品種級(jí)別。自定義屬性決策樹(shù),進(jìn)行屬性影響力對(duì)比。3.2概要設(shè)計(jì)3.2.1系統(tǒng)總體分析總體分析如圖3—1:數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)JavaBeanServletJsp,Javascript,AJAX圖圖3—1系統(tǒng)總分析圖3.2.2棗品質(zhì)決策系統(tǒng)棗品質(zhì)決策系統(tǒng)基礎(chǔ)模塊決策樹(shù)模塊數(shù)據(jù)導(dǎo)入模塊分詞模塊顯示模塊獲取數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)提供相關(guān)接口決策樹(shù)生成品質(zhì)評(píng)估決策樹(shù)評(píng)估單條數(shù)據(jù)導(dǎo)入批量數(shù)據(jù)導(dǎo)入語(yǔ)句劃分智能加入新詞接收用戶操作顯示評(píng)估信息顯示相關(guān)數(shù)據(jù)圖3—23.2.3按各模塊間關(guān)系接收用戶操作接收用戶操作顯示評(píng)估信息顯示相關(guān)數(shù)據(jù)語(yǔ)句劃分智能填詞決策樹(shù)生成品質(zhì)評(píng)估決策樹(shù)評(píng)估批量數(shù)據(jù)導(dǎo)入單條數(shù)據(jù)導(dǎo)入獲取數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)存儲(chǔ)提供相關(guān)接口顯示模塊分詞模塊決策樹(shù)模塊數(shù)據(jù)導(dǎo)入模塊基礎(chǔ)模塊圖3—3各模塊間關(guān)系3.2.4系統(tǒng)模塊劃分模塊一,決策樹(shù)生成模塊。(由張金磊完成) 負(fù)責(zé)用JDBC橋接數(shù)據(jù)庫(kù),使用ID3算法生成ID3型決策樹(shù),根據(jù)輸入屬性完成品質(zhì)評(píng)估,樣本數(shù)據(jù)管理,屬性評(píng)估。前臺(tái)頁(yè)面設(shè)計(jì)。數(shù)據(jù)庫(kù)表設(shè)計(jì)。用戶增刪改查。 模塊二,分詞模塊,顯示模塊。(由臧進(jìn)進(jìn)完成) 負(fù)責(zé)根據(jù)輸入的對(duì)于果實(shí)的通俗描述語(yǔ)句,分出相應(yīng)屬性詞語(yǔ),并將新描述詞填入詞庫(kù)。 模塊三,數(shù)據(jù)導(dǎo)入模塊,基礎(chǔ)模塊。(由富兆慧完成) 負(fù)責(zé)完成單條數(shù)據(jù)錄入數(shù)據(jù)和用excel表批量導(dǎo)入數(shù)據(jù)庫(kù)。4.詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)4.1設(shè)計(jì)說(shuō)明由于系統(tǒng)分三個(gè)模塊,由我來(lái)負(fù)責(zé)決策樹(shù)生成模塊因此在系統(tǒng)詳細(xì)設(shè)計(jì)部分,由我來(lái)完成決策樹(shù)生成模塊的設(shè)計(jì)和開(kāi)發(fā)。4.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)由于數(shù)據(jù)庫(kù)內(nèi)部結(jié)構(gòu)復(fù)雜并且關(guān)系緊密,因此設(shè)計(jì)一個(gè)合理的數(shù)據(jù)結(jié)構(gòu),用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)內(nèi)部表與表、字段與表、字段與字段之間的關(guān)系和信息是很有必要的。4.2.1數(shù)據(jù)結(jié)構(gòu)根據(jù)系統(tǒng)面對(duì)用戶,數(shù)據(jù)庫(kù)設(shè)計(jì)以下結(jié)構(gòu):數(shù)據(jù)庫(kù)信息結(jié)構(gòu):數(shù)據(jù)庫(kù)名稱(fruit)數(shù)據(jù)庫(kù)表信息結(jié)構(gòu):user表createtableusers( user_idintidentity(1,1)notnullprimarykey, user_namevarchar(16)notnull, passwordvarchar(20)notnull, emailvarchar(40), phonevarchar(20), remarksvarchar(50), limitintnotnullcheck(limit>=0andlimit<=2))用戶數(shù)據(jù)表記錄用戶相關(guān)數(shù)據(jù),用戶名,密碼(md5加密),電子郵件,權(quán)限(管理員0,專家1,用戶2)。Part表:createtablepart( part_idintidentity(1,1)notnullprimarykey, part_namevarchar(20)notnull, user_idintreferencesusers(user_id), datedatetime)品種范圍記錄范圍的名稱,創(chuàng)建人id,日期。引用用戶表的user_id。Variety表:createtablevariety( var_idintidentity(1,1)notnullprimarykey, var_namevarchar(20), user_idintreferencesusers(user_id), part_idintreferencespart(part_id), datedatetime)品種表記錄引入創(chuàng)建品種的用戶,品種名,所屬范圍,日期。引用了用戶表的user_id范圍表的part_id。varfield_1表:createtablevarfield_1( vf_idintnotnullprimarykey, attributevarchar(20)notnull, weightfloatnotnull )品種數(shù)據(jù)表,記錄品種屬性名,品種權(quán)值。引用了品種表var_id,表名由品種id決定attvalue_1表:createtableattvalue_1( vf_idintreferencesvarfield_1(vf_id), valueintnotnull, valuenamevarchar(20)notnull primarykey(vf_id,value) )某品種具體屬性記錄表,引用外鍵vf_id,屬性編號(hào)value,屬性名稱valuename表名由品種id決定,主鍵由vf_id,value聯(lián)合決定tree_1表:createtabletree_1( idintidentity(1,1)notnullprimarykey, 果肉色澤float, 果肉質(zhì)地float, 酥脆程度f(wàn)loat, 果肉粗細(xì)float, 果肉汁液float, 酸甜度f(wàn)loat, 特殊口味float, 裂果率float, 形狀float, 表皮顏色float, 果點(diǎn)密度f(wàn)loat, 果皮厚度f(wàn)loat, 果頂float, 果面float, 斑點(diǎn)大小float, 果肩float, 梗洼深度f(wàn)loat, 梗洼廣度f(wàn)loat, 萼片狀態(tài)float, 柱頭狀態(tài)float, 果實(shí)整齊度f(wàn)loat, 果核形狀float, 種仁飽滿度f(wàn)loat, 核殼有無(wú)float, 含仁率float, 豐產(chǎn)性float, 漿爛度f(wàn)loat, 果實(shí)大小float, 樹(shù)形float, 有無(wú)殘?jiān)黤loat, 成熟期float, 可食率float, resultintcheck(result>=0andresult<=5))某品種決策樹(shù)中具體數(shù)據(jù)表記錄該品種決策樹(shù)相關(guān)數(shù)據(jù)(隨品種創(chuàng)建一起創(chuàng)建)表名由品種id決定tree_id。4.3決策流程基礎(chǔ)模塊流程如下:用戶選擇相關(guān)屬性值連接數(shù)據(jù)庫(kù)提取樣本生成決策樹(shù)根據(jù)提供值評(píng)估結(jié)果輸出結(jié)果。生成決策樹(shù)評(píng)估結(jié)果結(jié)束存入表數(shù)據(jù)結(jié)構(gòu)存入表數(shù)據(jù)結(jié)構(gòu)存入表數(shù)據(jù)結(jié)構(gòu)生成決策樹(shù)評(píng)估結(jié)果結(jié)束存入表數(shù)據(jù)結(jié)構(gòu)存入表數(shù)據(jù)結(jié)構(gòu)存入表數(shù)據(jù)結(jié)構(gòu)連接到數(shù)據(jù)庫(kù)讀取樣本信息讀取品種數(shù)據(jù)讀取屬性表關(guān)閉數(shù)據(jù)庫(kù)開(kāi)始創(chuàng)建數(shù)據(jù)庫(kù)鏈接選擇屬性相關(guān)值檢查鏈接是否成功圖4-1模塊流程圖

4.4決策樹(shù)實(shí)現(xiàn)4.4.1系統(tǒng)設(shè)計(jì)模式面向?qū)ο缶幊淌墙鼇?lái)程序開(kāi)發(fā)的主流,和以往的面向過(guò)程編程相比,它更具有可維護(hù)性和可擴(kuò)展性。無(wú)論是從程序設(shè)計(jì)還是到程序開(kāi)發(fā),都展現(xiàn)出了面向過(guò)程無(wú)法比擬的優(yōu)點(diǎn)。首先,它從人類認(rèn)識(shí)世界的角度出發(fā),提出了“萬(wàn)物皆對(duì)象”的思想。其次,對(duì)象具有的繼承、封裝和多態(tài)的特征,為程序的開(kāi)發(fā)和維護(hù)帶來(lái)了很大的便利。再次,面向?qū)ο蟮脑O(shè)計(jì)重點(diǎn)放在了對(duì)象和對(duì)象接口設(shè)計(jì)上,從而擺脫了以往面向過(guò)程的把主要精力放在如何實(shí)現(xiàn)的細(xì)節(jié)上。從面向?qū)ο蟮乃枷氤霭l(fā),我們開(kāi)發(fā)數(shù)據(jù)庫(kù)查詢和分析工具的基礎(chǔ)模塊,在開(kāi)發(fā)基礎(chǔ)模塊之前我們要把握好以下幾點(diǎn):模塊封裝性要好:一個(gè)模塊分解是否成功的標(biāo)志是看該模塊自身的數(shù)據(jù)和細(xì)節(jié)封裝的程度的大小。一個(gè)好的模塊,可以把所有的實(shí)現(xiàn)細(xì)節(jié)隱藏起來(lái),提供各外部的API與自己的具體實(shí)現(xiàn)區(qū)分開(kāi)來(lái)。這樣各個(gè)模塊之間就只通過(guò)API進(jìn)程通信,而不考慮具體的實(shí)現(xiàn)細(xì)節(jié)。模塊擴(kuò)展性要好:系統(tǒng)的最大特點(diǎn)就是要做到通用性,要想實(shí)現(xiàn)通用性,這就要求我們?nèi)嬷С炙袛?shù)據(jù)庫(kù)的表,當(dāng)有新的數(shù)據(jù)出現(xiàn)時(shí),我們應(yīng)該做到在不更改源代碼的基礎(chǔ)上實(shí)現(xiàn)功能的擴(kuò)展。要求我們嚴(yán)格遵守開(kāi)閉原則,即對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。設(shè)計(jì)明確的接口:由于其他模塊的開(kāi)發(fā)不是有我來(lái)完成的,因此,為其他模塊提供一個(gè)簡(jiǎn)單明了且不變動(dòng)的接口也是軟件開(kāi)發(fā)的關(guān)鍵。系統(tǒng)維護(hù)性要好:由于系統(tǒng)開(kāi)發(fā)出來(lái)之后,功能不會(huì)全部實(shí)現(xiàn),有可能以后需要?jiǎng)e人來(lái)維護(hù)系統(tǒng),因此系統(tǒng)在開(kāi)發(fā)過(guò)程中要生成完整的文檔,以供系統(tǒng)維護(hù)。4.4.從數(shù)據(jù)庫(kù)中獲取指定數(shù)據(jù)庫(kù)的庫(kù)信息,表信息,字段信息等,可以由一下步驟完成:建立數(shù)據(jù)庫(kù)鏈接根據(jù)用戶提供的用戶名,密碼,數(shù)據(jù)庫(kù)名和數(shù)據(jù)庫(kù)所在位置,我們可以通過(guò)jdbc或者dbcb-odbc橋獲得與指定數(shù)據(jù)庫(kù)的連接Connection.2.得到DatabaseMetaData對(duì)象根據(jù)第一步獲取的連接,我們可以創(chuàng)建一個(gè)Connection的對(duì)象conn。通過(guò)conn.getMetaData()方法,可以獲取DatabaseMetaData的對(duì)象。3.獲得數(shù)據(jù)庫(kù)內(nèi)信息 根據(jù)不同操作創(chuàng)建相應(yīng)對(duì)象獲取數(shù)據(jù)庫(kù)信息 獲取樣本數(shù)據(jù)表:slistslist=obtainlist.sourcelist(); 獲取權(quán)值表 float[][]weightlist=weight.obtainweight(); 獲取用戶類: useru=ulogin.getuser(uname);4.4.3系統(tǒng)拓展實(shí)現(xiàn)拓展性是每個(gè)系統(tǒng)必須要有的,也是設(shè)計(jì)追求目標(biāo)之一,對(duì)于決策樹(shù)系統(tǒng)而言不止在于棗品質(zhì)測(cè)評(píng)上,還必須要用于其他品種評(píng)估。要實(shí)現(xiàn)這個(gè)目標(biāo),在設(shè)計(jì)系統(tǒng)上必須要決策樹(shù)系統(tǒng)生成,評(píng)估上,必須設(shè)計(jì)留有相關(guān)接口,以便在加入其它品種時(shí)可以僅需修改小部分代碼,實(shí)現(xiàn)代碼復(fù)用。<<<interface>>ctreecreattree();id3treecreattree()id3countGaincountGain()<<interface>>countGainColcountGain()4—2.工廠方法類關(guān)系圖4.4.4接口的設(shè)計(jì)要想實(shí)現(xiàn)模塊與模塊之間良好的通信,設(shè)計(jì)一個(gè)合理安全的接口是必要的。這個(gè)接口既要設(shè)計(jì)的簡(jiǎn)單,又要屏蔽到程序?qū)崿F(xiàn)的詳細(xì)信息.從本模塊功能上分析,這個(gè)模塊主要功能是為其他模塊提供數(shù)據(jù)庫(kù)結(jié)構(gòu)信息的,因此,它只能為其他模塊提供數(shù)據(jù)庫(kù)結(jié)構(gòu)信息,而不能提供修改數(shù)據(jù)庫(kù)結(jié)構(gòu)的接口.同時(shí),考慮到系統(tǒng)內(nèi)部類之間關(guān)系的復(fù)雜和繁瑣,在設(shè)計(jì)這個(gè)接口是我們采取了設(shè)計(jì)模式的外觀模式。通過(guò)創(chuàng)建一個(gè)外觀類,其他模塊可以在不了解內(nèi)部信息的基礎(chǔ)上調(diào)用模塊的接口.添加工廠模式之前如圖4-3:對(duì)象對(duì)象模塊外模塊內(nèi)圖4-3添加工廠模式之后如圖4-4:treeFacadetreeFacade對(duì)象模塊外模塊內(nèi)圖4-44.4.5后臺(tái)包及設(shè)計(jì)Bean包(存放基礎(chǔ)計(jì)算代碼):countEnd類:計(jì)算決策樹(shù)節(jié)點(diǎn)結(jié)果是否唯一。intcEnd(floatlist[][])返回1為結(jié)束節(jié)點(diǎn),返回0為非結(jié)束節(jié)點(diǎn)。getEndResult類:通過(guò)給出的屬性,使用決策樹(shù)評(píng)估結(jié)果。publicStringgetEResult(floatinlist[])。輸入為屬性集合數(shù)組,返回為評(píng)估結(jié)果Bean.id3包(存放生成ID3決策樹(shù)時(shí)需要的相關(guān)計(jì)算類):id3countGain類:決策樹(shù)ID3算法,計(jì)算最高信息增益列。publicintcountGain(floatlist[][],floatweightlist[][])輸入權(quán)值表,樣本列表。返回當(dāng)前計(jì)算擁有最高熵值的列。cGain類:計(jì)算具體屬性的熵值。publicfloatspGain(floatlist[][],intp,doubleI,floatweightlist[][])輸入樣本表,列號(hào),權(quán)值表,總熵值,輸出列號(hào)所選熵值。countResult類:統(tǒng)計(jì)結(jié)果種類和個(gè)數(shù)。publicfloat[][]cResult(floatlist[][])輸入樣本表,輸出該樣本的所有的結(jié)果及其各樣的個(gè)數(shù)。Be

溫馨提示

  • 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ù)網(wǎng)僅提供信息存儲(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)論