91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 21KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-08
  • 語言: Java
  • 標簽: 測試數據??

資源簡介

用Java語言實現的apriori算法,算法分為2步:計算頻繁N項集;得出關聯規則。

資源截圖

代碼片段和文件信息

import?java.io.*;
import?java.util.*;

public?class?Apriori{
private?List>?Event;//事務數據
private?int?minSupport;?//最小支持度
private?double?minConfidence;?//?最小置信度
private?int?sum?=?0;



private?List>?freqItemSet;//頻繁N項集

public?Apriori(List>?Eventint?minSup?double?minConf){//構造函數
this.Event?=?Event;
this.minSupport?=?minSup;
this.minConfidence?=?minConf;

freqItemSet?=?new?ArrayList>();
}

????void?runApriori(){//運行Apriori算法分為2步:1.挖掘頻繁N項集;2.產生關聯規則
/*1.挖掘頻繁N項集*/
List>freqItem?=?new?ArrayList>();
????????freqItem?=?Get1Item();//得到頻繁一項集???
????????freqItem?=?apriori_gen(freqItem);//得到頻繁二項集
????????//System.out.println(Event);
????????while(freqItem.size()?!=?0){//得到頻繁N項集
???????? if(freqItem.size()!=0)
???????? ????freqItemSet?=?freqItem;
???????? freqItem?=?apriori_gen(freqItem);?????????? ???????????
????????}
????????System.out.println(“頻繁項集共有:“+freqItemSet.size()+“項“);
????????for(int?i=0;i????????????System.out.println(freqItemSet.get(i));
????????
????????/*2.產生關聯規則*/
????????apriori_genRule();
}

List>?Get1Item(){//遍歷事件集,獲得頻繁一項集
Map?candi?=?new?HashMap();//候選一項集
List>?item?=?new?ArrayList>();//頻繁一項集

for(int?i=0;i Set?value?=?Event.get(i);
Iterator?it?=?value.iterator();
while(it.hasNext()){//將set中的值放進候選一項集中,并計算頻數
object?str?=?it.next();
if(candi.containsKey(str)){
candi.put(str.toString()?candi.get(str)+1);
}
else
candi.put(str.toString()?1);
}
}
Iterator?it3?=?candi.entrySet().iterator();?
while(it3.hasNext()){?//根據支持度大小通過逐次比較得到頻繁一項集
Map.Entry?a?=?(Map.Entry)it3.next();
Set?b?=?new?TreeSet();
????object?v?=?a.getValue();?
????object?t?=?a.getKey();
????if(Integer.parseInt(v.toString())?>=?minSupport){//比較支持度大小,符合要求則加入頻繁一項集中
???? b.add(t.toString());
???????? item.add(b);
????}
}
//System.out.println(item);
return?item;
}???

List>?apriori_gen(List>?preSet){//根據頻繁(k-1)項集生成頻繁k項集
????????List>?result?=?new?ArrayList>();???
????????int?preSetSize?=?preSet.size();?
????????
????????for?(int?i?=?0;?i?????????????for?(int?j?=?i?+?1;?j?????????????????String[]?strA1?=?preSet.get(i).toArray(new?String[0]);???
????????????????String[]?strA2?=?preSet.get(j).toArray(new?String[0]);??
????????????????
????????????????int?judge?=?1;//連接判斷,判斷兩個k-1項集是否符合連接成k項集的條件,不符合則將判斷條件置為0
????????????????if?(strA1.length?==?strA2.length)?{???
????????????????????for?(int?m?=?0;?m?????????????????????????if?(!strA1[m].equals(strA2[m]))?{???
????????????????????????????judge?=?0;???
????????????????????????????break;???
????????????????????????}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????11875??2013-04-19?20:21??Apriori\Apriori.java

?????文件?????101607??2013-04-19?15:12??Apriori\Result.txt

?????目錄??????????0??2013-04-23?18:47??Apriori

-----------?---------??----------?-----??----

???????????????113482????????????????????3


評論

共有 條評論