公務(wù)員期刊網(wǎng) 論文中心 正文

WEKA下在線數(shù)據(jù)挖掘淺析

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了WEKA下在線數(shù)據(jù)挖掘淺析范文,希望能給你帶來(lái)靈感和參考,敬請(qǐng)閱讀。

WEKA下在線數(shù)據(jù)挖掘淺析

weka軟件是一款集成了強(qiáng)大的機(jī)器學(xué)習(xí)算法以及數(shù)據(jù)挖掘算法且基于JAVA編譯環(huán)境下為數(shù)不多的開(kāi)源數(shù)據(jù)挖掘軟件。研究工作則是對(duì)WEKA進(jìn)行了二次開(kāi)發(fā),通過(guò)將WEKA和瀏覽器以及后臺(tái)評(píng)測(cè)端以B/S架構(gòu)的模式相結(jié)合,完成基于WEKA的數(shù)據(jù)挖掘任務(wù)。整個(gè)系統(tǒng)的主要事物邏輯在后臺(tái)服務(wù)器端,用以處理由WEB前端所提交的數(shù)據(jù)挖掘任務(wù),而用戶界面則通過(guò)瀏覽器來(lái)呈現(xiàn)。本文的重點(diǎn)是從系統(tǒng)的設(shè)計(jì)以及JAVA在線編譯環(huán)境的搭建入手,對(duì)系統(tǒng)處理數(shù)據(jù)的整個(gè)流程做了相應(yīng)的介紹,對(duì)于數(shù)據(jù)挖掘的關(guān)鍵步驟也進(jìn)行了詳細(xì)的分析介紹,對(duì)系統(tǒng)所預(yù)期的基于WEKA的數(shù)據(jù)挖掘功能也進(jìn)行了相應(yīng)的測(cè)試,同時(shí)取得了符合預(yù)期的實(shí)驗(yàn)結(jié)果。

1.研究現(xiàn)狀

國(guó)外對(duì)于數(shù)據(jù)挖掘技術(shù)的領(lǐng)先主要體現(xiàn)于挖掘算法的深入研究,例如對(duì)Boosting以及Bayes方法的研究,其目前所使用的主流數(shù)據(jù)挖掘軟件除了WEKA外,還有CognosScenario、SPSSClementine、IBMIntelligentMiner、QUEST以及KnowledgeStudio。國(guó)內(nèi)軟件有中科院的SMINER,東北大學(xué)的ScopeMiner以及上海復(fù)旦德門軟件公司的DMiner、ARMiner以及CIAS。

2.相關(guān)技術(shù)分析制定

2.1編譯系統(tǒng)

一般來(lái)說(shuō)編譯系統(tǒng)可分為離線編譯和在線編譯。其中離線編譯系統(tǒng)是在專門的軟件環(huán)境之下,配置在本機(jī)的編譯系統(tǒng)。在程序處理過(guò)程中,離線編譯系統(tǒng)將預(yù)處理程序過(guò)程,編譯程序過(guò)程,匯編程序過(guò)程,裝配連接編譯程序過(guò)程全部配置于本機(jī)。2.2WEKA簡(jiǎn)介行業(yè)曲線linkindustryAppraisementDOI:10.3969/j.issn.1001-8972.2022.14.036可替代度影響力可實(shí)現(xiàn)度行業(yè)關(guān)聯(lián)度真實(shí)度開(kāi)發(fā)該軟件的小組來(lái)自懷卡托大學(xué),故WEKA也稱懷卡托智能分析環(huán)境。WEKA使用的默認(rèn)數(shù)據(jù)格式為ARFF(AttributeRelationFileFormat),其文件類型為ASCII文本文件。類似于普通的文本文件,該種數(shù)據(jù)格式的結(jié)構(gòu)簡(jiǎn)單,一般用于輕量級(jí)的數(shù)據(jù)結(jié)構(gòu)算法程序。一個(gè)ARFF對(duì)應(yīng)于一個(gè)二維的表格,其中每列表示數(shù)據(jù)集的各個(gè)屬性,各行表示數(shù)據(jù)集的各實(shí)例。

3.在線數(shù)據(jù)挖掘系統(tǒng)設(shè)計(jì)

3.1系統(tǒng)結(jié)構(gòu)

系統(tǒng)的整體結(jié)構(gòu)主要分為三部分:WEB端、服務(wù)器端及數(shù)據(jù)庫(kù)端。整個(gè)數(shù)據(jù)挖掘的過(guò)程為首先由用戶在WEB頁(yè)面端提交JAVA測(cè)試代碼,代碼中包含所要測(cè)試的WEKA數(shù)據(jù)集文件以及所要調(diào)用的相關(guān)WEKA函數(shù)。WEB界面對(duì)于所提交的代碼進(jìn)行預(yù)處理,以及將調(diào)用WEKA函數(shù)的命令一起打包后提交至后臺(tái)服務(wù)器端,后臺(tái)服務(wù)器進(jìn)行代碼的在線編譯,最后生成結(jié)果文件Result.txt,同時(shí)還有相關(guān)的結(jié)果數(shù)據(jù)寫入了數(shù)據(jù)當(dāng)中,用以在WEB頁(yè)面端顯示代碼的編譯結(jié)果。其中主要的功能模塊包括:數(shù)據(jù)庫(kù)模塊,源碼上傳模塊,激活編譯模塊,源碼編譯模塊,異常處理機(jī)制模塊以及結(jié)果輸出模塊。3.2源碼上傳及激活編譯在如圖1提交測(cè)試代碼后,點(diǎn)擊Submit,WEB端將提交的測(cè)試代碼存儲(chǔ)至服務(wù)器下數(shù)據(jù)庫(kù)source_code表中,而source_code表共有sid和source兩個(gè)屬性。另外一個(gè)用以存儲(chǔ)測(cè)試代碼文本的屬性為source。由于數(shù)據(jù)庫(kù)中的text數(shù)據(jù)類型為不受限存儲(chǔ)類型,故在測(cè)試代碼存儲(chǔ)時(shí)并不需要對(duì)所提交代碼的長(zhǎng)度進(jìn)行檢查。在WEB端將測(cè)試代碼存儲(chǔ)至數(shù)據(jù)庫(kù)的同時(shí),也通過(guò)HTTP協(xié)議將激活信號(hào)量發(fā)送至服務(wù)器端的OJ服務(wù),激活編譯功能。OJ服務(wù)首先按照信號(hào)量中所包含的sid屬性值在數(shù)據(jù)庫(kù)source_code表中進(jìn)行檢索,將source屬性值中的測(cè)試代碼文本取出來(lái),生成Main.java文件,并將其放置在temporary目錄下以sid屬性值命名創(chuàng)建的臨時(shí)文件夾中。同時(shí)OJ服務(wù)需要被注冊(cè)為系統(tǒng)服務(wù),使其能夠具備一定的權(quán)限運(yùn)行在后臺(tái)且調(diào)用某些系統(tǒng)服務(wù)以及系統(tǒng)資源。

3.3源碼編譯模塊

在完成OJ服務(wù)的激活工作,以及生成Main.java文件后,系統(tǒng)開(kāi)始編譯工作。而Java程序從源碼到最后的可運(yùn)行程序需要經(jīng)過(guò)兩個(gè)步驟:(1)源文件需要由相應(yīng)的編譯器編譯成字節(jié)碼。具體步驟為:源文件被創(chuàng)建之后,測(cè)試源碼首先會(huì)通過(guò)javac命令被編譯為.class文件,如圖2文件包含Main.java以及Main.class。若編譯器運(yùn)行該源碼時(shí)并未找到相應(yīng)的.java文件或者.class文件,將會(huì)報(bào)“cantfindsymbol”的錯(cuò)誤;(2)生成的字節(jié)碼由JVM解釋運(yùn)行。需要說(shuō)明的是Java類運(yùn)行包括class的加載以及執(zhí)行,而JVM對(duì)于class的加載機(jī)制類似于操作系統(tǒng)對(duì)于資源的加載方式,即需要哪個(gè)class加載哪個(gè),而不是全部加載。JVM將.calss文件以棧的數(shù)據(jù)結(jié)構(gòu)執(zhí)行,在相應(yīng)的線程被創(chuàng)建之后,會(huì)產(chǎn)生程序計(jì)數(shù)器PC以及棧Stack。其中,程序計(jì)數(shù)器PC用以存放下一條將要運(yùn)行的程序偏移量而棧Stack中存放的是每次所要調(diào)用程序的棧幀。

3.4異常處理機(jī)制模塊及結(jié)果輸出

當(dāng)然,在整個(gè)系統(tǒng)的編譯過(guò)程以及結(jié)果生成的過(guò)程中會(huì)出現(xiàn)一些異常的情況,即系統(tǒng)所具備的異常處理機(jī)制。(1)Judging:表示提交的測(cè)試源碼處于編譯的狀態(tài),需要等待。(2)Systemerror:服務(wù)器的響應(yīng)出現(xiàn)了問(wèn)題,不能編譯工作,造成的原因一般為編譯器沒(méi)有正常運(yùn)行或文件存儲(chǔ)的目錄出現(xiàn)了問(wèn)題。(3)TimeLimitExceeded:當(dāng)所提交的測(cè)試源碼運(yùn)行時(shí)間超出了規(guī)定時(shí)間,將會(huì)被OJ服務(wù)強(qiáng)制結(jié)束任務(wù)。(4)CompileError:所提交的測(cè)試源碼出現(xiàn)了語(yǔ)法錯(cuò)誤或者其他若干導(dǎo)致源碼不能正確編譯的問(wèn)題時(shí)。(5)Accepted:該種狀態(tài)是所提交測(cè)試源碼順利經(jīng)過(guò)編譯并生成正確的結(jié)果文件。測(cè)試源碼的編譯工作完成之后,系統(tǒng)將源碼運(yùn)行的結(jié)果寫入Result.txt文件之中,而在WEB端的頁(yè)面,待提交代碼的狀態(tài)由Judging狀態(tài)變?yōu)锳ccepted或Compileerror等狀態(tài)后可按頁(yè)面所提供的下載鏈接,下載結(jié)果文件如圖3,而下載得到的結(jié)果文件格式為.txt。

4.實(shí)驗(yàn)

實(shí)驗(yàn)中,我們所使用到的是WEKA中聚類kmeans算法,該算法是一種具有參數(shù)k,然后將輸入的n個(gè)數(shù)據(jù)分為k個(gè)聚類,然后使同一聚類中的相似度比較大,不同的聚類其相似度較小。且利用“中心對(duì)象”對(duì)聚類對(duì)象中所獲得的均值進(jìn)行計(jì)算。測(cè)試數(shù)據(jù)集我們所使用的是WEKA所自帶的weather.nominal.arff。

4.1關(guān)于kmeans聚類算法的實(shí)驗(yàn)

4.1.1kmeans算法實(shí)驗(yàn)數(shù)據(jù)kmeans算法實(shí)驗(yàn)所用數(shù)據(jù)為WEKA自帶數(shù)據(jù)集測(cè)試文件weather.nominal.arff,其具體內(nèi)容為如圖4所示??梢钥吹絯eather.nominal.arff共有14條記錄,以及天氣,氣溫,濕度,是否有風(fēng),是否室外活動(dòng)等5項(xiàng)屬性值。@data部分是它的數(shù)據(jù)部分。4.1.2Kmeans實(shí)驗(yàn)測(cè)試代碼其中:4.1.3Kmeans實(shí)驗(yàn)結(jié)果及分析由圖6以及圖7對(duì)比不難得出,使用基于WEKA的數(shù)據(jù)挖掘系統(tǒng)所得到的輸出結(jié)果與使用WEKA軟件所輸出的結(jié)果中該組數(shù)據(jù)都迭代了三次,可以看到最終的聚類個(gè)數(shù)都為5、3、4、2,即輸出的結(jié)果是相同的。故由此可得到結(jié)論,該系統(tǒng)可完全支持基于WEKA的數(shù)據(jù)挖掘工作,實(shí)現(xiàn)了軟件所預(yù)期的功能。

5.結(jié)語(yǔ)

在整個(gè)工作過(guò)程中,我們以在線數(shù)據(jù)挖掘系統(tǒng)為研究的對(duì)象,研究了相應(yīng)數(shù)據(jù)的處理、傳輸、算法實(shí)現(xiàn)和WEB展示。在本文中,首先介紹了WEKA相關(guān)技術(shù)以及在線數(shù)據(jù)挖掘系統(tǒng)的研究背景和意義,對(duì)于系統(tǒng)中的關(guān)鍵技術(shù)也進(jìn)行了具體的介紹與分析。同時(shí)也分析了基于WEKA數(shù)據(jù)挖掘系統(tǒng)的功能需求,讓我們進(jìn)一步明確系統(tǒng)處理數(shù)據(jù)的流程以及系統(tǒng)架構(gòu)等問(wèn)題。對(duì)于系統(tǒng)的不同功能部分進(jìn)行了詳盡具體的設(shè)計(jì)與實(shí)現(xiàn),而且在最后結(jié)合相關(guān)聚類以及關(guān)聯(lián)規(guī)則算法對(duì)系統(tǒng)進(jìn)行了功能性測(cè)試。

作者:薛成 蔡遠(yuǎn) 李玉萍 單位:蘭州中川國(guó)際機(jī)場(chǎng)有限公司

精選范文推薦