版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
FP增長算法實驗報告實驗目的了解關聯(lián)規(guī)則在數據挖掘中的應用,理解和掌握關聯(lián)挖掘的經典算法FP增長算法的基本原理和執(zhí)行過程并完成程序設計。實驗內容對給定數據集用FP增長算法進行挖掘,找出其中的頻繁集并生成關聯(lián)規(guī)則。對下面數據集進行挖掘:I1I2I5I2I4I2I3I1I2I4I1I3I2I3I1I3I1I2I3I5I1I2I3實驗步驟①首先數據庫第一次掃描,導出頻繁項集(1項集)的集合和支持度計數。頻繁項的集合按支持度計數的遞減序排序,記為L,同時對事物數據庫的每條記錄也進行排序。
②構造FP樹,建FP-tree的根節(jié)點,記為T,并且標記為"null"。然后對數據庫D中的每個事務t,把t中排好序的事務項列表進行建樹,為方便樹的遍歷創(chuàng)建一個項頭表。
③FP-樹挖掘處理:由長度為1的頻繁模式(初始后綴模式)開始,構造它的條件模式基。然后,構造它的(條件)FP-樹,并遞歸地在該樹上進行挖掘。模式增長通過后綴模式與由條件FP-樹產生的頻繁模式連接實現(xiàn)。
實驗過程主要代碼:usingSystem;usingSystem.Collections;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;namespaceFPTree{///<summary>///FPTree獲取頻繁模式///</summary>publicpartialclassFormFPTree:Form{///<summary>///最小支持度計數///</summary>staticintMinSupCount=2;///<summary>///最小支持度///</summary>staticintMinSupPercent=22;///<summary>///事務數據庫中的所有事務總數///</summary>staticintTotalItems=0;///<summary>///測試集的文件名///</summary>staticstring_testSet="";#region測試數據集路徑staticstringTestData1=Application.StartupPath+"\\testdata1_for_FP.dat";staticstringTestData2=Application.StartupPath+"\\testdata2_for_FP.dat";staticstringTestData3=Application.StartupPath+"\\testdata3_for_FP.dat";#endregionpublicFormFPTree(){InitializeComponent();cbMinSupPercent.SelectedIndex=0;}///<summary>///分析數據///</summary>///<paramname="_dataSetFileName"></param>privatevoidDoAnalysis(string_dataSetFileName){//FPTreeFPTree_fpTree=newFPTree();//FPTree挖掘FPGrowthFacade_fpGrowthFacade=newFPGrowthFacade();DateTime_dateTimeStart=DateTime.Now;//讀取數據集,并遍歷取得頻繁一項集ReadFile(_dataSetFileName,_fpTree);_fpTree.InitializeFPTree();_fpGrowthFacade.FPGrowth(_fpTree,null);_content.Text="";if(_fpGrowthFacade.FrequentPattern.Count>0){DateTime_dateTimeEnd=DateTime.Now;TimeSpan_span=(_dateTimeEnd-_dateTimeStart);_content.Text+="程序分析總時間:"+_span.TotalSeconds.ToString()+"\r\n"+"支持度閥值設置:計數"+MinSupCount+",支持度"+Math.Round((float)MinSupCount/TotalItems,3)*100+"%\r\n\r\n";foreach(DictionaryEntry_entryin_fpGrowthFacade.FrequentPattern){List<ItemSet>_tmpItemSetList=(List<ItemSet>)_fpGrowthFacade.FrequentPattern[_entry.Key];_content.Text+="頻繁"+_entry.Key+"項集"+_tmpItemSetList.Count+"個\r\n";foreach(ItemSet_itemSetin_tmpItemSetList){string[]_contents=newstring[_itemSet.Content.Count];_itemSet.Content.CopyTo(_contents);_content.Text+=ShowInOrder(_fpTree,_contents)+"(計數"+_itemSet.Count+",支持度"+Math.Round((float)_itemSet.Count/TotalItems,3)*100+"%)\r\n";}}_content.Text+="頻繁一項集"+_fpTree.FrequentItemCount+"個:\r\n";foreach(DictionaryEntry_entryin_fpTree.HashFrequentItemTable){_content.Text+=_entry.Key+"(計數"+_entry.Value.ToString()+",支持度"+Math.Round((float)Convert.ToInt32(_entry.Value)/TotalItems,3)*100+"%)\r\n";}}_fpTree.DisposeAll();_fpGrowthFacade.DisposeAll();}///<summary>///按順序顯示字符///</summary>///<paramname="_fpTree"></param>///<paramname="_contents"></param>///<returns></returns>privatestringShowInOrder(FPTree_fpTree,string[]_contents){int[]_indexs=newint[_contents.Length];for(inti=0;i<_indexs.Length;i++){_indexs[i]=_fpTree.GetSupCountByID(_contents[i]);}intcount=_indexs.Length;for(intbubble=0;bubble<count;bubble++){for(intlookup=bubble+1;lookup<count;lookup++){//小的計數往下排if(_indexs[bubble]<_indexs[lookup]){stringtemp=_contents[bubble];_contents[bubble]=_contents[lookup];_contents[lookup]=temp;}}}string_tmpContents="";for(inti=0;i<_contents.Length;i++){_tmpContents+=_contents[i]+"";}return_tmpContents;}#region系統(tǒng)方法privatevoidbutton1_Click(objectsender,EventArgse){if(TotalItems==0){MessageBox.Show("請先預處理數據,以計算事務總數","系統(tǒng)提示");return;}SetFilePath();SetMinSupPercent();if(_testSet!="")DoAnalysis(_testSet);flowLayoutPanel1.Enabled=true;TotalItems=0;}privatevoidtoolStripButton2_Click(objectsender,EventArgse){Close();}privatevoidtoolStripButton3_Click(objectsender,EventArgse){SetFilePath();//預處理,計算事務總項數flowLayoutPanel1.Enabled=false;StreamReadersr=newStreamReader(_testSet,System.Text.Encoding.Default);while(sr.Peek()>=0){//讀取當前行sr.ReadLine();TotalItems++;}sr.Close();}///<summary>///設置數據所在位置///</summary>privatevoidSetFilePath(){if(smallSet.Checked)_testSet=TestData1;if(bigSet.Checked)_testSet=TestData2;if(standardSet.Checked)_testSet=TestData3;}///<summary>///設計支持度///</summary>privatevoidSetMinSupPercent(){MinSupPercent=Convert.ToInt32(cbMinSupPercent.SelectedItem.ToString().Replace("%",""));}#endregion#region讀取數據集,并遍歷取得頻繁一項集publicvoidReadFile(stringstrFileName,FPTree_fpTree){//設置支持度計數MinSupCount=Convert.ToInt32(MinSupPercent)*TotalItems/100;StreamReadersr=newStreamReader(strFileName,System.Text.Encoding.Default);stringsLineString="";string[]_arrItemName=null;string_itemName=null;//設置測試數據集開始位置int_start=0;if(_testSet==TestData1)_start=1;//用Hashtable來保存一項集Hashtable_hashTable=newHashtable();List<List<ItemInfo>>_listStrList=newList<List<ItemInfo>>();while(sr.Peek()>=0){//讀取當前行sLineString=sr.ReadLine();//提取當前行的數組_arrItemName=sLineString.Split(newChar[]{''},StringSplitOptions.RemoveEmptyEntries);//將數組放到內存中//_arrStrList.Add(_arrItemName);List<ItemInfo>_listItemName=newList<ItemInfo>();//將頻繁項集合放到Hashtable中for(inti=_start;i<_arrItemName.Length;i++){_itemName=_arrItemName[i];_listItemName.Add(newItemInfo(_itemName,0));int_count=1;if(_hashTable.ContainsKey(_itemName
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 同行競爭協(xié)議合同范本
- 2025年度企業(yè)自駕游租車合同二零二五年度專用3篇
- 2025版建筑起重機械租賃價格體系構建及質量控制合同3篇
- 2025年度個人土地承包權流轉保證金合同范本3篇
- 2025年全球及中國高效微??諝膺^濾器行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球陽極氧化再生行業(yè)調研及趨勢分析報告
- 2024年拉絲工職業(yè)技能競賽理論考試題庫(含答案)
- 2025年度個人租賃房屋租賃合同租賃物損壞賠償條款
- 二零二五年度車庫使用權抵押貸款合同4篇
- 2025年度個人旅游保險代理合同6篇
- 2024年安全教育培訓試題附完整答案(奪冠系列)
- 神農架研學課程設計
- 文化資本與民族認同建構-洞察分析
- 2025新譯林版英語七年級下單詞默寫表
- 【超星學習通】馬克思主義基本原理(南開大學)爾雅章節(jié)測試網課答案
- 《錫膏培訓教材》課件
- 斷絕父子關系協(xié)議書
- 福建省公路水運工程試驗檢測費用參考指標
- 2024年中國工業(yè)涂料行業(yè)發(fā)展現(xiàn)狀、市場前景、投資方向分析報告(智研咨詢發(fā)布)
- 自然科學基礎(小學教育專業(yè))全套教學課件
- 《工程勘察資質分級標準和工程設計資質分級標準》
評論
0/150
提交評論