網(wǎng)頁序列分析系統(tǒng)課程設(shè)計(jì)(論文)_第1頁
網(wǎng)頁序列分析系統(tǒng)課程設(shè)計(jì)(論文)_第2頁
網(wǎng)頁序列分析系統(tǒng)課程設(shè)計(jì)(論文)_第3頁
網(wǎng)頁序列分析系統(tǒng)課程設(shè)計(jì)(論文)_第4頁
網(wǎng)頁序列分析系統(tǒng)課程設(shè)計(jì)(論文)_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章緒論由于網(wǎng)站的結(jié)構(gòu)設(shè)計(jì),對(duì)特定用戶而言信息獲取的代價(jià)與所經(jīng)過的瀏覽路徑長度成正比,這些位于路徑中間的不必要的文檔就無疑增加了用戶獲取信息的代價(jià)。本文利用Clementine數(shù)據(jù)挖掘的方法和技術(shù)對(duì)用戶所訪問的頁面序列進(jìn)行挖掘,構(gòu)建網(wǎng)頁推薦的模型,實(shí)現(xiàn)對(duì)當(dāng)前站點(diǎn)排序方式的優(yōu)化,從而最大限度地優(yōu)化用戶訪問體驗(yàn),提高當(dāng)前站點(diǎn)信息獲取的整體效率。[關(guān)鍵詞]網(wǎng)頁推薦;Clememtine數(shù)據(jù)挖掘;訪問序列傳統(tǒng)的Web網(wǎng)站以系統(tǒng)自身為中心,為了容納大量的信息,以圖結(jié)構(gòu)組織網(wǎng)站,頁面之間存在著比較復(fù)雜的層次關(guān)系。這些預(yù)先設(shè)計(jì)好的瀏覽路徑(網(wǎng)站的結(jié)構(gòu))嚴(yán)格按照設(shè)計(jì)者編輯好的層次返回頁面,因此,為了獲取特定的信息,從同一頁面出發(fā)的所有用戶都不得不重復(fù)地經(jīng)過很多與自己毫無關(guān)系的、不希望看到的中間鏈接頁面,使得用戶為了獲取少量的信息付出較大的代價(jià)。如果在確保網(wǎng)頁內(nèi)容的前提下,實(shí)現(xiàn)網(wǎng)站物理結(jié)構(gòu)的調(diào)整和再組織,就可以避免混亂。站點(diǎn)路徑優(yōu)化實(shí)際上就是站點(diǎn)管理者優(yōu)化其站點(diǎn)結(jié)構(gòu),它的出現(xiàn)就是為了提高用戶的訪問效率以及用戶對(duì)站點(diǎn)的忠誠度。 第二章數(shù)據(jù)基本分析2.1數(shù)據(jù)說明本數(shù)據(jù)來自網(wǎng)絡(luò)信息服務(wù)(IIS)網(wǎng)站和1999年9月28日全天日志記錄,每行連續(xù)數(shù)據(jù)表示單個(gè)用戶24小時(shí)內(nèi)瀏覽網(wǎng)頁的記錄,連續(xù)數(shù)據(jù)中的數(shù)字表示用戶對(duì)相應(yīng)網(wǎng)頁的瀏覽請(qǐng)求,該訪問請(qǐng)求不會(huì)被記錄成詳細(xì)的記錄,即具體的網(wǎng)址,而只是單單記錄了網(wǎng)頁類型。這些網(wǎng)頁類型分別是"frontpage","news","tech","local","opinion","on-air","misc","weather","health","living","business","sports","summary","bbs"(bulletinboardservice),"travel","msn-news",and"msn-sports"。通過超高速緩沖器(寄存器)每個(gè)網(wǎng)頁的服務(wù)請(qǐng)求不會(huì)被記錄到服務(wù)日志,因此,它不會(huì)體現(xiàn)在數(shù)據(jù)中。2.2質(zhì)量分析此次分析的數(shù)據(jù)總共有989818,平均每個(gè)用戶點(diǎn)擊網(wǎng)頁的次數(shù)是5.7次,每個(gè)不同類型的網(wǎng)頁有10到5000個(gè)不同的URL(網(wǎng)頁地址)。從數(shù)據(jù)的質(zhì)量上看,這是一個(gè)較大的數(shù)據(jù)集,數(shù)據(jù)的量足夠大,可以用于數(shù)據(jù)的挖掘分析,且數(shù)據(jù)來源于InternetInformationServer(IIS),有足夠可信度。用戶平均點(diǎn)擊網(wǎng)頁的數(shù)據(jù)也有5.7次,適合用于分析點(diǎn)擊網(wǎng)頁序列,每種類型的網(wǎng)頁也有足夠多的不同網(wǎng)址,符合客觀要求。因此從數(shù)據(jù)質(zhì)量上看,所選取的數(shù)據(jù)有分析的必要。2.3基本描述分析截取部分?jǐn)?shù)據(jù)如下:1123224222335161166777668888694441031051044411111111121211每一行代表一個(gè)用戶所點(diǎn)擊的網(wǎng)頁,此次選取的數(shù)據(jù)之中一共有17個(gè)不同類型的網(wǎng)頁,分別是:frontpagenewstechlocalopinionon-airmiscweathermsn-newshealthlivingbusinessmsn-sportssportssummarybbstravel為了方便處理,將以上各個(gè)網(wǎng)頁進(jìn)行編號(hào),分別為1234567891011121314151617。一第三行數(shù)據(jù)為例對(duì)單個(gè)用戶的數(shù)據(jù)進(jìn)行說明。用戶3第一次點(diǎn)擊3號(hào)網(wǎng)頁,第二次點(diǎn)擊2號(hào)網(wǎng)頁,第三次點(diǎn)擊2號(hào)網(wǎng)頁,第四次點(diǎn)擊4號(hào)網(wǎng)頁等一次類推下去。每一行都是一個(gè)用戶的記錄第三章數(shù)據(jù)預(yù)處理3.1數(shù)據(jù)處理過程此次任務(wù)是設(shè)計(jì)基于網(wǎng)頁點(diǎn)擊次序來推送下一次可能點(diǎn)擊的網(wǎng)頁。選取的方法是Clementine的序列關(guān)聯(lián),所以要將數(shù)據(jù)處理成Clementine可讀取的格式,并且要?jiǎng)h減不必要的數(shù)據(jù),改寫數(shù)據(jù)的格式,這樣才能達(dá)到分析處理的要求。結(jié)合提供的數(shù)據(jù)具體分析:每行數(shù)據(jù)是一個(gè)用戶的信息記錄,表示的含義是第n號(hào)用戶點(diǎn)擊了哪個(gè)網(wǎng)頁,是第幾次點(diǎn)擊的。舉出部分?jǐn)?shù)據(jù)樣例如下:1123224222335161166777668888694441031051044411111111121211因?yàn)榇舜稳蝿?wù)是進(jìn)行序列關(guān)聯(lián)分析,所以用戶只進(jìn)行了一次點(diǎn)擊情況的記錄可以直接刪除,比如樣例中2,4,5,6,8號(hào)用戶。又因?yàn)樽罱K要進(jìn)行的操作是推送下一個(gè)可能點(diǎn)擊的網(wǎng)頁,如果用戶只是在不斷的點(diǎn)擊同一個(gè)網(wǎng)頁,這樣的記錄也無法分析可推送的網(wǎng)頁,故也要剔去,如樣例中1號(hào)用戶。還有一種情況就是在多次點(diǎn)擊過程中有重復(fù)點(diǎn)擊的網(wǎng)頁,這樣的情況只需選取一次即可,因?yàn)槲覀兯P(guān)系的是網(wǎng)頁點(diǎn)擊的次序而不是次數(shù),現(xiàn)對(duì)樣例中9號(hào)用戶的數(shù)據(jù)進(jìn)行分析,用戶9第一次點(diǎn)擊6號(hào)網(wǎng)頁,第二次點(diǎn)擊7號(hào)網(wǎng)頁,第三次點(diǎn)擊6號(hào)網(wǎng)頁,第四次點(diǎn)擊8號(hào)網(wǎng)頁。根據(jù)以上的要求,可將數(shù)據(jù)處理成三列,分別表示用戶號(hào),用戶點(diǎn)擊的網(wǎng)頁號(hào),此次點(diǎn)擊的次序號(hào)。將處理好的數(shù)據(jù)保存在文件中等待處理即可。3.2數(shù)據(jù)預(yù)處理方法根據(jù)數(shù)據(jù)處理過程,決定運(yùn)用microsoftvisualc++軟件,進(jìn)行編程處理,程序分析過程如下:1.先取數(shù)據(jù)文本中一行數(shù)據(jù)賦值給數(shù)組msn2.將msn數(shù)組按照空格分隔符分割,并將分割后數(shù)據(jù)轉(zhuǎn)換為整型,賦值給msn1數(shù)組。3.對(duì)msn1數(shù)組中數(shù)據(jù)進(jìn)行前后比較,如若相等,則將前一個(gè)賦值為04.將數(shù)組msn1中數(shù)據(jù)進(jìn)行判斷,大于0,則將數(shù)據(jù)賦值給數(shù)組msn2。5.將數(shù)組msn2中數(shù)據(jù)個(gè)數(shù)大于1的,按形式為三列,分別是用戶號(hào),用戶點(diǎn)擊的網(wǎng)頁號(hào),點(diǎn)擊網(wǎng)頁的次序號(hào)的格式寫入e.txt文本文件。6.具體代碼分析如下:#include<iostream>#include<fstream>#include"memory.h"#include"stdlib.h"usingnamespacestd;voidmain(){cout<<"正在處理,請(qǐng)稍等";//voidquchu();inti=0,count=0;charmsn[100000];//保存字符型數(shù)據(jù)數(shù)組intmsn1[100000];//保存一行int型數(shù)據(jù)數(shù)組intmsn2[10000];//保存無重復(fù)數(shù)據(jù)數(shù)組fstreamout;ofstreamin;//定義文本輸入輸出流out.open("msnbc990928.seq",ios::in);//打開文本數(shù)據(jù)in.open("e.txt",ios::trunc);//ios::trunc表示在打開文件前將文件清空,由于是寫入,文件不存在則創(chuàng)建while(!out.eof()){out.getline(msn,100000,'\n');//getline(char*,int,char)表示該行字符達(dá)到100個(gè)或遇到換行就結(jié)束constchar*split="";//將數(shù)據(jù)變?yōu)閕nt型char*p;i=0;p=strtok(msn,split);while(p!=NULL) { msn1[i]=atoi(p);//將截取數(shù)字轉(zhuǎn)換為整型,賦值給數(shù)組 p=strtok(NULL,split); i++; }intii=i;inta=0;for(i=0;i<ii;i++){ if(msn1[i]==msn1[i+1])//判斷是否重復(fù),重復(fù)則將前一值賦值為0 msn1[i]=0; if(msn1[i]>0)//將符合條件的賦值給數(shù)組 { msn2[a]=msn1[i]; a++; }}intaa=a;//保存一行數(shù)字個(gè)數(shù)if(aa>1)//將一行的個(gè)數(shù)大于1的按要求寫入文件{ for(i=0;i<aa;i++) in<<count+1<<','<<msn2[i]<<','<<i+1<<"\n"; count++;}}out.close();//關(guān)閉文件}3.3數(shù)據(jù)預(yù)處理結(jié)果數(shù)據(jù)處理好之后,形式為三列,分別是用戶號(hào),用戶點(diǎn)擊的網(wǎng)頁號(hào),點(diǎn)擊網(wǎng)頁的次序號(hào)。取部分處理好的結(jié)果如下:ID,CONTENT,TIME1,3,11,2,21,4,31,2,41,3,52,6,12,7,22,6,32,8,43,6,13,9,23,4,3開頭是加上的字段名。表達(dá)的含義是一號(hào)用戶第一到第五次分別點(diǎn)擊3,2,4,2,3號(hào)網(wǎng)頁。這個(gè)數(shù)據(jù)就可以用Clementine進(jìn)行處理分析了。第四章數(shù)據(jù)模型構(gòu)建4.1數(shù)據(jù)流的構(gòu)建打開Clementine軟件,在源選項(xiàng)卡中選擇“可變文件”節(jié)點(diǎn),單擊編輯,進(jìn)行如下設(shè)置:在文件設(shè)置中,導(dǎo)入處理好的數(shù)據(jù),勾選“讀取文件中的字段名”,在定“界符中”選項(xiàng)框中勾選“逗號(hào)”,“新行”;在類型設(shè)置中,將ID字段設(shè)為無類型,CONTENT設(shè)為集,TIME設(shè)為范圍。設(shè)置過程截圖如下:圖1導(dǎo)入數(shù)據(jù)圖2數(shù)據(jù)類型設(shè)置再點(diǎn)擊選取表節(jié)點(diǎn),連接可變文件,執(zhí)行,觀察數(shù)據(jù)是否正確導(dǎo)入了。然后在數(shù)學(xué)建模選項(xiàng)卡中選擇“序列”節(jié)點(diǎn),連接可變文件,點(diǎn)擊編輯,進(jìn)行如下設(shè)置:在字段設(shè)置中,將ID字段設(shè)置為ID,勾選“設(shè)置時(shí)間字段”,選擇TIME,內(nèi)容字段中選擇CONTENT。在模型設(shè)置中,設(shè)置合適的最小規(guī)則支持度,最小規(guī)則置信度,最大序列大小,要添加到流的預(yù)測。設(shè)置過程截圖如下:圖3序列分析字段設(shè)置圖4序列分析模型參數(shù)設(shè)置以上過程設(shè)置好后,對(duì)“序列”字段點(diǎn)擊執(zhí)行,產(chǎn)生結(jié)果。數(shù)據(jù)流的構(gòu)建過程截圖如下:圖5數(shù)據(jù)流構(gòu)建第五章模型結(jié)果分析5.1結(jié)果的分析處理首先在“序列”節(jié)點(diǎn)的模型設(shè)置中設(shè)置好合適的最小支持度,最小置信度?,F(xiàn)在將最小支持度設(shè)置為3%,,最小置信度設(shè)置為60%,取其結(jié)果進(jìn)行相應(yīng)的分析。結(jié)果如下:圖6測試模型結(jié)果將最小支持度設(shè)置為3%,最小置信度設(shè)置為60%是為了剔除最小支持度小于3%,最小置信度小于60%的結(jié)果。以第一條結(jié)果為例進(jìn)行說明:前項(xiàng)為4,7,后項(xiàng)為4,表示點(diǎn)擊了4號(hào)網(wǎng)頁,再點(diǎn)7號(hào)網(wǎng)頁,可推送出4號(hào)網(wǎng)頁。因?yàn)橛涗浺还灿?89818,此條結(jié)果支持度為4.47%,故先點(diǎn)擊4號(hào)網(wǎng)頁,再點(diǎn)擊7號(hào)網(wǎng)頁的記錄一共有約40000多條,點(diǎn)擊了4號(hào)和7號(hào)網(wǎng)頁后,在點(diǎn)擊4號(hào)的可能性為72.26%,即為其置信度。其他條記錄可依此類推。5.2結(jié)果合理性分析以上選取的最小支持度設(shè)置為3%,最小置信度設(shè)置為60%,那么根據(jù)這個(gè)設(shè)置可以看出,只有重復(fù)出現(xiàn)30000次左右的結(jié)果才會(huì)被保留下來,這樣會(huì)導(dǎo)致很多條結(jié)果被剔除,所得出的結(jié)論很少,不利于分析推送。所以最小支持度應(yīng)該設(shè)置的更小一定,使結(jié)果更加有合理性。重新設(shè)置相關(guān)參數(shù),最小支持度設(shè)置為0.5%,最小置信度設(shè)置為60%,則前項(xiàng)必須出現(xiàn)的次數(shù)達(dá)到5000次左右結(jié)果才會(huì)被保留。結(jié)果如下:圖7修正模型結(jié)果圖8模型結(jié)果匯總從結(jié)果匯總中可以看出,將最小支持度設(shè)置為0.5%,最小置信度設(shè)置為60%時(shí),規(guī)則數(shù)一共有161條,有效的事務(wù)數(shù)有383534條。其中最小的支持度為0.633%,最大支持度為88.35%。最小置信度為60.056%,最大置信度為83.84%。從有效事務(wù)數(shù),規(guī)則條數(shù)上看,這個(gè)結(jié)果還是很合理的。置信度也在60%以上,有一定可信度。故可以選擇這個(gè)分析結(jié)果。最后將此結(jié)果導(dǎo)出,保留給推薦系統(tǒng)備用。第六章應(yīng)用系統(tǒng)設(shè)計(jì)6.1模型接口經(jīng)討論分析我們決定,運(yùn)用delphi7.0軟件實(shí)現(xiàn)對(duì)本系統(tǒng)的應(yīng)用設(shè)計(jì)。具體分析實(shí)現(xiàn)步驟如下:1.用戶操作網(wǎng)頁編號(hào)記錄的實(shí)現(xiàn)。定義全局?jǐn)?shù)組msn,用于記錄用戶所進(jìn)入網(wǎng)頁的的編號(hào),代碼如下:unitUall;interfacevarmsn:array[0..1000]ofinteger;//定義數(shù)組,保存訪問數(shù)據(jù)vari:integer;implementationusesUlocal,Umain,Unews,Utech;initializationi:=0;end.2.編輯17個(gè)窗口作為網(wǎng)頁,并新建一個(gè)主窗口Fmain,在Fmain中拉入label,當(dāng)用戶點(diǎn)擊相應(yīng)的label時(shí),進(jìn)入相應(yīng)的網(wǎng)頁,并將網(wǎng)頁的編號(hào)記錄到數(shù)據(jù)Uall.msn數(shù)組中,并將數(shù)組下標(biāo)i自加1。具體label中代碼如下:procedureTFmain.Label2Click(Sender:TObject);beginself.Hide;Fnews.Show;Uall.msn[UALL.i]:=2;Uall.i:=Uall.i+1;end;3.網(wǎng)頁推薦實(shí)現(xiàn)。在Fmain中拉入一個(gè)button,當(dāng)用戶點(diǎn)擊此button時(shí),系統(tǒng)進(jìn)行推薦,在此中寫入代碼,具體分析步驟如下:1)取分析后文本數(shù)據(jù)中一行,并將一行數(shù)據(jù)進(jìn)行分割,取最后一個(gè)編號(hào)為推薦編號(hào)轉(zhuǎn)換為Int型,賦值給整型變量SE。將數(shù)據(jù)逐個(gè)轉(zhuǎn)換為int型,賦值給msnint數(shù)組,數(shù)據(jù)最后一個(gè)編號(hào)不寫如數(shù)組。2)將msnint數(shù)組中數(shù)據(jù)從結(jié)尾開始逐個(gè)與用戶操作序列數(shù)組結(jié)尾開始進(jìn)行比較。用戶操作序列數(shù)組Uall.msn與msnint中匹配時(shí),將SE值轉(zhuǎn)換為string型賦值給SEE,并將temp值賦值為1。3)對(duì)temp進(jìn)行判斷,temp為1時(shí)則說明可進(jìn)行推薦。則將推薦的數(shù)據(jù)SEE賦值給label.caption。即可顯示。具體代碼如下:procedureTFmain.Button2Click(Sender:TObject);varF:TextFile;S:string;//保存一行字符SE:integer;//保存推薦網(wǎng)頁編號(hào)SEE:string;//保存臨時(shí)推薦網(wǎng)頁編號(hào)SS:string;//保存所有推薦Slist:Tstringlist;//定義字符截取i:integer;//ii:integer;alli:integer;temp:integer;//inn:integer;scount:integer;msnint:array[0..1000]ofinteger;//定義數(shù)組,保存int型數(shù)據(jù)begintemp:=0;SEE:='';SS:='';AssignFile(F,'ID.txt');//綁定文件到文件類型變量Reset(F);//打開一個(gè)存在的文件,另Rewrite創(chuàng)建文件并打開whilenoteof(F)dobeginReadln(F,S);//讀取一行字符//################################//字符串的截取Slist:=Tstringlist.Create;slist.Delimiter:='';//設(shè)置分隔符slist.DelimitedText:=S;//設(shè)置待分割的字符串scount:=slist.Count-1;fori:=0toslist.Count-2do//列舉所有值,保存進(jìn)數(shù)組beginmsnint[i]:=Strtoint(Slist[i]);end;SE:=Strtoint(Slist[scount]);//取最后一個(gè)編號(hào)為推薦編號(hào)//################################i:=scount-1;alli:=UALL.i-1;//取最大值whilemsnint[i]=uall.msn[alli]dobegini:=i-1;alli:=alli-1;ifi=-1thenbegintemp:=1;SEE:=inttostr(SE);end;end;end;iftemp=1thenbegininn:=strtoint(SEE);caseinnof1:SEE:='頭條';2:SEE:='新聞';3:SEE:='科技';4:SEE:='本地新聞';5:SEE:='輿論';6:SEE:='在線直播';7:SEE:='音樂';8:SEE:='天氣';9:SEE:='MSN';10:SEE:='健康';11:SEE:='家居';12:SEE:='商業(yè)';13:SEE:='MSN體育';14:SEE:='體育';15:SEE:='概要';16:SEE:='BBS';17:SEE:='旅行';end;Ltuijian.Caption:=inttostr(inn)+'.'+SEE;ShowMessage('向您推薦:'+SEE);end;iftemp=0thenbeginLtuijian.Caption:='';ShowMessage('由于進(jìn)入的網(wǎng)頁數(shù)不夠,還沒能向您推薦網(wǎng)頁??!');end;CloseFile(F);end;6.2人機(jī)接口1.用戶進(jìn)入系統(tǒng)時(shí),首先顯示的為可以自動(dòng)跳轉(zhuǎn)的界面,介紹系統(tǒng)名與系統(tǒng)作者。這樣使系統(tǒng)更具有親和力。功能實(shí)現(xiàn)需要加入timer,gauge和imag控件,導(dǎo)入圖片,使圖形更加美觀。并在timer控件中寫代碼,使之能夠自動(dòng)加載進(jìn)程條。代碼如下:procedureTFlogin.Timer1Timer(Sender:TObject);beginGauge1.Progress:=Gauge1.Progress+1;ifGauge1.Progress=Gauge1.MaxValuethen//計(jì)時(shí)計(jì)的間隔時(shí)間10毫秒,maxvalue=100,1秒鐘后進(jìn)入登錄窗口beginFmain.Show;Self.Hide;Timer1.Enabled:=False;//必須要停止計(jì)時(shí)計(jì),否則計(jì)時(shí)計(jì)會(huì)一直運(yùn)行,結(jié)果是每過一分鐘就會(huì)彈出登錄窗口end;end;end.最終界面如圖9顯示:圖9登錄界面2.進(jìn)入到主界面,加入imag控件,導(dǎo)入圖片,使圖形更加美觀。添加BitBtn控件,設(shè)置其caption屬性為“退出”,使之為退出按鈕,并導(dǎo)入圖片,使控件更加美觀。當(dāng)用戶點(diǎn)擊時(shí)控件時(shí),則退出系統(tǒng)。為了實(shí)現(xiàn)系統(tǒng)自動(dòng)推薦,則在fmain中的onshow事件中寫入推薦代碼。同時(shí)為了使界面更加富有美感,加入了XPManifest控件。最終界面如圖10顯示,程序代碼如下:1)BitBtn中退出程序代碼:procedureTFmain.BitBtn1Click(Sender:TObject);beginapplication.Terminate;end;2)Onshow事件中寫入推薦代碼:procedureTFmain.FormShow(Sender:TObject);varF:TextFile;S:string;//保存一行字符SE:integer;//保存推薦網(wǎng)頁編號(hào)SEE:string;//保存臨時(shí)推薦網(wǎng)頁編號(hào)SS:string;//保存所有推薦Slist:Tstringlist;//定義字符截取i:integer;//ii:integer;alli:integer;temp:integer;//inn:integer;scount:integer;msnint:array[0..1000]ofinteger;//定義數(shù)組,保存int型數(shù)據(jù)begintemp:=0;SEE:='';SS:='';AssignFile(F,'ID.txt');//綁定文件到文件類型變量Reset(F);//打開一個(gè)存在的文件,另Rewrite創(chuàng)建文件并打開whilenoteof(F)dobeginReadln(F,S);//讀取一行字符//Length(S);//SS:=LeftStr(S,Length(S)-1);//從Str字符串變量的中第1個(gè)字符開始取長度為S長度個(gè)字符-1的字符串;//SE:=RightStr(S,1);//取最后一個(gè)字符//ShowMessage(SS);//################################//字符串的截取Slist:=Tstringlist.Create;slist.Delimiter:='';//設(shè)置分隔符slist.DelimitedText:=S;//設(shè)置待分割的字符串scount:=slist.Count-1;fori:=0toslist.Count-2do//列舉所有值,保存進(jìn)數(shù)組beginmsnint[i]:=Strtoint(Slist[i]);//showmessage('這個(gè)數(shù)'+inttostr(msnint[i]));end;SE:=Strtoint(Slist[scount]);//取最后一個(gè)編號(hào)為推薦編號(hào)//showmessage('這個(gè)數(shù)'+inttostr(SE));//################################i:=scount-1;alli:=UALL.i-1;//取最大值//ii:=0;//whilealli<=uall.ido//beginwhilemsnint[i]=uall.msn[alli]dobegini:=i-1;alli:=alli-1;ifi=-1thenbegintemp:=1;SEE:=inttostr(SE);//+''+SEE;end;end;end;iftemp=1thenbegininn:=strtoint(SEE);caseinnof1:SEE:='頭條';2:SEE:='新聞';3:SEE:='科技';4:SEE:='本地新聞';5:SEE:='輿論';6:SEE:='在線直播';7:SEE:='音樂';8:SEE:='天氣';9:SEE:='MSN';10:SEE:='健康';11:SEE:='家居';12:SEE:='商業(yè)';13:SEE:='MSN體育';14:SEE:='體育';15:SEE:='概要';16:SEE:='BBS';17:SEE:='旅行';end;Ltuijian.Caption:=inttostr(inn)+'.'+SEE;//ShowMessage('向您推薦:'+SEE);//SEE:='';end;iftemp=0thenbeginLtuijian.Caption:='';end;CloseFile(F);end;圖10主界面3.點(diǎn)擊網(wǎng)頁label,進(jìn)入到網(wǎng)頁頁面。功能實(shí)現(xiàn)加入imag控件,導(dǎo)入圖片,使圖形更加美觀。同時(shí)鍵入lanbel,更改caption屬性,描述客戶所進(jìn)入的網(wǎng)頁的頁面。并添加button控件,caption屬性改為“退出”,當(dāng)用戶點(diǎn)擊時(shí)使界面返回主界面。最終界面如圖11,代碼如下:procedureTFmisc.Button3Click(Sender:TObject);beginclose;fmain.show;end;end.圖11單個(gè)網(wǎng)頁6.3軟件測試1.打開軟件,進(jìn)入加載界面如圖12:圖12加載界面2.進(jìn)入主界面,點(diǎn)擊,13號(hào)MSN體育,訪問網(wǎng)頁MSN體育,如圖13,圖14所示:圖13選擇進(jìn)入網(wǎng)頁圖14網(wǎng)頁顯示3.點(diǎn)擊,7號(hào)網(wǎng)頁音樂,訪問網(wǎng)頁音樂,如圖15,圖16所示:圖15進(jìn)入網(wǎng)頁圖16網(wǎng)頁顯示4.退出音樂網(wǎng)頁后,系統(tǒng)自動(dòng)推薦13號(hào)網(wǎng)頁MSN體育,如圖17:圖17顯示推薦網(wǎng)頁5.點(diǎn)擊推薦按鈕,系統(tǒng)跳出彈框,顯示推薦網(wǎng)頁,如圖18圖18按鈕推薦網(wǎng)頁6.再次點(diǎn)7號(hào),選擇音樂,進(jìn)入音樂網(wǎng)頁如圖19所示:圖19進(jìn)入音樂網(wǎng)頁7.退出網(wǎng)頁,進(jìn)入主界面,系統(tǒng)無法找到匹配序列,則自動(dòng)清空推薦網(wǎng)頁,如圖20:圖20推薦自動(dòng)清空8.點(diǎn)擊推薦按鈕,給出提示,說明系統(tǒng)未能找到匹配的推薦網(wǎng)頁,如圖21所示:圖21按鈕推薦提醒9.在主界面點(diǎn)擊退出,則退出系統(tǒng),如圖22所示:圖22退出系統(tǒng)10.經(jīng)過以上測試,軟件能夠正常運(yùn)行。但是,在網(wǎng)頁的設(shè)計(jì)方面還不夠完美,不夠貼近于實(shí)際,有待改善。在操作舒適度方面稍好,符合系統(tǒng)的基本要求。整體來看,本系統(tǒng)功能和設(shè)計(jì)還是比較完善的。結(jié)論本次基于msnbc數(shù)據(jù)的網(wǎng)頁序列分析系統(tǒng)的設(shè)計(jì)過程主要有三大部分。第一是數(shù)據(jù)預(yù)處理部分,首先要分析序列分析所需要的數(shù)據(jù)類型,將給定的原始數(shù)據(jù)處理成Clementine支持的數(shù)據(jù)格式,剔除不起作用的數(shù)據(jù)記錄,減少數(shù)據(jù)量,還要降低數(shù)據(jù)的冗余,序列分析分析的是先后順序,與點(diǎn)擊網(wǎng)頁的次數(shù)無關(guān),可以將點(diǎn)擊多次的相同網(wǎng)頁減為一次,最終將數(shù)據(jù)處理成了三列,這三列的含義分別是用戶號(hào),點(diǎn)擊網(wǎng)頁號(hào),點(diǎn)擊網(wǎng)頁的次序號(hào);第二是利用Clementine來分析處理好的數(shù)據(jù),現(xiàn)構(gòu)建好數(shù)據(jù)流,選擇可變文件節(jié)點(diǎn),導(dǎo)入文件,設(shè)置好相應(yīng)的設(shè)置,在使用“序列”節(jié)點(diǎn),連接可變文件,進(jìn)行相應(yīng)的設(shè)置,執(zhí)行便可得出相應(yīng)的結(jié)果,然后將結(jié)果導(dǎo)出備用;第三是設(shè)計(jì)推送系統(tǒng)部分,此部分使用delphi開發(fā)工具進(jìn)行開發(fā)。主要工作又包括兩部分,一是模型接口的設(shè)計(jì),二是人機(jī)接口的設(shè)計(jì)。做好相應(yīng)的窗體,能將Clementine分析得出的結(jié)果導(dǎo)入,根據(jù)結(jié)果進(jìn)行比對(duì)分析,通過推送系統(tǒng)直接就可以得出相應(yīng)的結(jié)果。這就是最終所做出的基于msnbc數(shù)據(jù)的網(wǎng)頁序列分析系統(tǒng)。參考文獻(xiàn)[1]毛國軍,段立娟.數(shù)據(jù)挖掘原理與算法[M].北京:清華大學(xué)出版社,2012[2]王婧,梁興柱.C++程序設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009[3]張世明.Delphi程序設(shè)計(jì)基礎(chǔ).北京:人民郵電出版社,2008[4]薛薇,陳歡歌.Clementine數(shù)據(jù)挖掘方法及應(yīng)用.北京:電子工業(yè)出版社,2010.9:ISBN978-7-121-11778-7.結(jié)束語這次課程設(shè)計(jì),運(yùn)用了多學(xué)科的知識(shí),真可謂是大學(xué)學(xué)習(xí)的知識(shí)的綜合運(yùn)用。首先要對(duì)任務(wù)進(jìn)行分析,先要處理好數(shù)據(jù),這個(gè)過程可以運(yùn)用各種工具和方法,只要能將數(shù)據(jù)處理成所需的結(jié)構(gòu)即可。我們這次所選取c++來處理,通過編程將原始數(shù)據(jù)導(dǎo)入,在進(jìn)行相應(yīng)處理,導(dǎo)出結(jié)果。這個(gè)過程要對(duì)c++文件導(dǎo)入導(dǎo)出的語法很熟悉才行,同時(shí)還要了解數(shù)組函數(shù)等基本知識(shí),部分函數(shù)可以在網(wǎng)上收索得到,靈活運(yùn)用即可。然后就需要使用到數(shù)據(jù)處理的工具,選用Clementine來處理數(shù)據(jù),選用的方法是關(guān)聯(lián)規(guī)則的序列關(guān)聯(lián)分析。這個(gè)部分的處理需要對(duì)Clementine的各個(gè)控件很熟悉,要掌握序列關(guān)聯(lián)分析的理論知識(shí),最后要對(duì)分析出的結(jié)果進(jìn)行合理性分析,結(jié)合實(shí)際,判斷自己得出的結(jié)論是否有應(yīng)用性。最后,就是將所得出的分析結(jié)果很好的展示給用戶。我們是設(shè)計(jì)一個(gè)網(wǎng)頁推薦系統(tǒng),采用的工具是delphi,可視化窗口程序設(shè)計(jì)。這部分要能熟練使用delphi開發(fā)工具,合理設(shè)計(jì)窗體,處理好模型接口,能很好的導(dǎo)入結(jié)果數(shù)據(jù),還要處理好人機(jī)交互接口,讓用戶能簡單方便的操作,界面要注意美觀簡約。以上就是我們整個(gè)設(shè)計(jì)過程中需要注意的東西。最后在總結(jié)一下我們這次設(shè)計(jì)中所用到的全部知識(shí)。C++預(yù)處理數(shù)據(jù),Clementine分析數(shù)據(jù),得出結(jié)果,delphi設(shè)計(jì)推送系統(tǒng)。三大塊的知識(shí)都很多,我們還要很多不足與欠缺的地方,但通過這次設(shè)計(jì)之后,我們定能向前更進(jìn)一步?;贑8051F單片機(jī)直流電動(dòng)機(jī)反饋控制系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的嵌入式Web服務(wù)器的研究MOTOROLA單片機(jī)MC68HC(8)05PV8/A內(nèi)嵌EEPROM的工藝和制程方法及對(duì)良率的影響研究基于模糊控制的電阻釬焊單片機(jī)溫度控制系統(tǒng)的研制基于MCS-51系列單片機(jī)的通用控制模塊的研究基于單片機(jī)實(shí)現(xiàn)的供暖系統(tǒng)最佳啟停自校正(STR)調(diào)節(jié)器單片機(jī)控制的二級(jí)倒立擺系統(tǒng)的研究基于增強(qiáng)型51系列單片機(jī)的TCP/IP協(xié)議棧的實(shí)現(xiàn)基于單片機(jī)的蓄電池自動(dòng)監(jiān)測系統(tǒng)基于32位嵌入式單片機(jī)系統(tǒng)的圖像采集與處理技術(shù)的研究基于單片機(jī)的作物營養(yǎng)診斷專家系統(tǒng)的研究基于單片機(jī)的交流伺服電機(jī)運(yùn)動(dòng)控制系統(tǒng)研究與開發(fā)基于單片機(jī)的泵管內(nèi)壁硬度測試儀的研制基于單片機(jī)的自動(dòng)找平控制系統(tǒng)研究基于C8051F040單片機(jī)的嵌入式系統(tǒng)開發(fā)基于單片機(jī)的液壓動(dòng)力系統(tǒng)狀態(tài)監(jiān)測儀開發(fā)模糊Smith智能控制方法的研究及其單片機(jī)實(shí)現(xiàn)一種基于單片機(jī)的軸快流CO〈,2〉激光器的手持控制面板的研制基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究基于CYGNAL單片機(jī)的在線間歇式濁度儀的研制基于單片機(jī)的噴油泵試驗(yàn)臺(tái)控制器的研制基于單片機(jī)的軟起動(dòng)器的研究和設(shè)計(jì)基于單片機(jī)控制的高速快走絲電火花線切割機(jī)床短循環(huán)走絲方式研究基于單片機(jī)的機(jī)電產(chǎn)品控制系統(tǒng)開發(fā)基于PIC單片機(jī)的智能手機(jī)充電器基于單片機(jī)的實(shí)時(shí)內(nèi)核設(shè)計(jì)及其應(yīng)用研究基于單片機(jī)的遠(yuǎn)程抄表系統(tǒng)的設(shè)計(jì)與研究基于單片機(jī)的煙氣二氧化硫濃度檢測儀的研制基于微型光譜儀的單片機(jī)系統(tǒng)單片機(jī)系統(tǒng)軟件構(gòu)件開發(fā)的技術(shù)研究基于單片機(jī)的液體點(diǎn)滴速度自動(dòng)檢測儀的研制基于單片機(jī)系統(tǒng)的多功能溫度測量儀的研制基于PIC單片機(jī)的電能采集終端的設(shè)計(jì)和應(yīng)用基于單片機(jī)的光纖光柵解調(diào)儀的研制氣壓式線性摩擦焊機(jī)單片機(jī)控制系統(tǒng)的研制基于單片機(jī)的數(shù)字磁通門傳感器基于單片機(jī)的旋轉(zhuǎn)變壓器-數(shù)字轉(zhuǎn)換器的研究基于單片機(jī)的光纖Bragg光柵解調(diào)系統(tǒng)的研究單片機(jī)控制的便攜式多功能乳腺治療儀的研制基于C8051F020單片機(jī)的多生理信號(hào)檢測儀基于單片機(jī)的電機(jī)運(yùn)動(dòng)控制系統(tǒng)設(shè)計(jì)Pico專用單片機(jī)核的可測性設(shè)計(jì)研究基于MCS-51單片機(jī)的熱量計(jì)基于雙單片機(jī)的智能遙測微型氣象站MCS-51單片機(jī)構(gòu)建機(jī)器人的實(shí)踐研究基于單片機(jī)的輪軌力檢測基于單片機(jī)的GPS定位儀的研究與實(shí)現(xiàn)基于單片機(jī)的電液伺服控制系統(tǒng)用于單片機(jī)系統(tǒng)的MMC卡文件系統(tǒng)研制基于單片機(jī)的時(shí)控和計(jì)數(shù)系統(tǒng)性能優(yōu)化的研究基于單片機(jī)和CPLD的粗光柵位移測量系統(tǒng)研究單片機(jī)控制的后備式方波UPS提升高職學(xué)生單片機(jī)應(yīng)用能力的探究基于單片機(jī)控制的自動(dòng)低頻減載裝置研究基于單片機(jī)控制的水下焊接電源的研究基于單片機(jī)的多通道數(shù)據(jù)采集系統(tǒng)基于uPSD3234單片機(jī)的氚表面污染測量儀的研制基于單片機(jī)的紅外測油儀的研究96系列單片機(jī)仿真器研究與設(shè)計(jì)基于單片機(jī)的單晶金剛石刀具刃磨設(shè)備的數(shù)控改造基于單片機(jī)的溫度智能控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)基于MSP430單片機(jī)的電梯門機(jī)控制器的研制基于單片機(jī)的氣體測漏儀的研究基于三菱M16C/6N系列單片機(jī)的CAN/USB協(xié)議轉(zhuǎn)換器基于單片機(jī)和DSP的變壓器油色譜在線監(jiān)測技術(shù)研究基于單片機(jī)的膛壁溫度報(bào)警系統(tǒng)設(shè)計(jì)基于AVR單片機(jī)的低壓無功補(bǔ)償控制器的設(shè)計(jì)基于單片機(jī)船舶電力推進(jìn)電機(jī)監(jiān)測系統(tǒng)基于單片機(jī)網(wǎng)絡(luò)的振動(dòng)信號(hào)的采集系統(tǒng)基于單片機(jī)的大容量數(shù)據(jù)存儲(chǔ)技術(shù)的應(yīng)用研究基于單片機(jī)的疊圖機(jī)研究與教學(xué)方法實(shí)踐基于單片機(jī)嵌入式Web服務(wù)器技術(shù)的研究及實(shí)現(xiàn)基于AT89S52單片機(jī)的通用數(shù)據(jù)采集系統(tǒng)基于單片機(jī)的多道脈沖幅度分析儀研究機(jī)器人旋轉(zhuǎn)電弧傳感角焊縫跟蹤單片機(jī)控制系統(tǒng)基于單片機(jī)的控制系統(tǒng)在PLC虛擬教學(xué)實(shí)驗(yàn)中的應(yīng)用研究基于單片機(jī)系統(tǒng)的網(wǎng)絡(luò)通信研究與應(yīng)用基于PIC16F877單片機(jī)的莫爾斯碼自動(dòng)譯碼系統(tǒng)設(shè)計(jì)與研究基于單片機(jī)的模糊控制器在工業(yè)電阻爐上的應(yīng)用研究基于雙單片機(jī)沖床數(shù)控系統(tǒng)的研究與開發(fā)基于Cygnal單片機(jī)的μC/OS-Ⅱ的研究基于單片機(jī)的一體化智能差示掃描量熱儀系統(tǒng)研究基于TCP/IP協(xié)議的單片機(jī)與Internet互聯(lián)的研究與實(shí)現(xiàn)變頻調(diào)速液壓電梯單片機(jī)控制器的研究基于單片機(jī)γ-免疫計(jì)數(shù)器自動(dòng)換樣功能的研究與實(shí)現(xiàn)基于單片機(jī)的倒立擺控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)單片機(jī)嵌入式以太網(wǎng)防盜報(bào)警系統(tǒng)\t"_blan

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論