亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java實現的apriori算法.txt

?? 經典的算法實例
?? TXT
字號:
import java.util.*;

public class myapriori{
    double minsup=0.6;//最小支持度
    double minconf=0.2;//最小置信度
    int item_counts=0;//候選1項目集大小,即字母的個數
    int frequent_top;
    HashMap rule=new HashMap();
    String trans_set[]={"abc","abc","acde","bcdf","abcd","abcdf"};//事務集
    TreeSet[] frequent_set=new TreeSet[10];//頻繁項集數組,[0]:代表1頻繁集...
    TreeSet max_frequent=new TreeSet();//最大頻繁集
    TreeSet item1_canditate=new TreeSet();//1候選集
    TreeSet canditate_set[]=new TreeSet[10];//候選集數組    
    
    public myapriori(){
        max_frequent=new TreeSet();
        item_counts=counts();
        //frequent_set[]=new TreeSet[3];
        //frequent_set[]=new TreeSet[item_counts];
        for(int i=0;i<item_counts;i++){    
            frequent_set[i]=new TreeSet();
            canditate_set[i]=new TreeSet();
        }
        //System.out.println(frequent_set[0].size());
        canditate_set[0]=item1_canditate;
    }
    
    //計算1候選集個數
    int counts(){
                String temp1=new String("a");
                char temp2='a';
                int i,j,m;
                for(i=0;i<trans_set.length;i++){
                        temp1=trans_set[i];
                        //System.out.println(temp1);
                        //System.out.println(temp1.length());
                        //m=temp1.length();
                        //System.out.println(m);
                        for(j=0;j<temp1.length();j++){
                                //System.out.println(j);
                                temp2=temp1.charAt(j);
                                //System.out.println(i);
                                //System.out.println(j);
                                //System.out.println(temp2);
                                item1_canditate.add(String.valueOf(temp2));
                        }
                }
        return item1_canditate.size();
    }
    
    //計算項目集支持度
    double count_sup(String x){
        int temp=0;
        for(int i=0;i<trans_set.length;i++){
            for(int j=0;j<x.length();j++){
                if(trans_set[i].indexOf(x.charAt(j))==-1)
                    break;
                else 
                    if(j==(x.length()-1))
                        temp++;
            }
        }
        return temp;
    }
    
    //構造1候選集合&頻繁集
    public void item1_gen(){
        String temp1="";
        double m=0;
        Iterator temp=canditate_set[0].iterator();
        while(temp.hasNext()){
            temp1=(String)temp.next();
            m=count_sup(temp1);
            if(m>=minsup*trans_set.length){
                frequent_set[0].add(temp1);
            }    
        }
    }
    
    //由k頻繁集和1頻繁集生成k+1候選集
    public void canditate_gen(int k){
        String y="",z="",m="";
        char c1='a',c2='a';
        Iterator temp1=frequent_set[k-2].iterator();
        Iterator temp2=frequent_set[0].iterator();
        TreeSet h=new TreeSet();
        while(temp1.hasNext()){
            y=(String)temp1.next();
            c1=y.charAt(y.length()-1);
            //System.out.println("y="+y);
            while(temp2.hasNext()){
                z=(String)temp2.next();    
                //System.out.println("z="+z);
                c2=z.charAt(0);
                
                if(c1>=c2) 
                    continue;
                else{
                    m=y+z;
                    h.add(m);
                    }
            }
            temp2=frequent_set[0].iterator();
        }
        canditate_set[k-1]=h;
    }
    
    //k候選集=>k頻繁集
    public void frequent_gen(int k){
        String s1="";
        Iterator ix=canditate_set[k-1].iterator();
        while(ix.hasNext()){
            s1=(String)ix.next();
            if(count_sup(s1)>=(minsup*trans_set.length)){
                frequent_set[k-1].add(s1);
            }
        }
    }
    
    public boolean is_frequent_empty(int k){
        if(frequent_set[k-1].isEmpty())
            return true;
        else
            return false;
    }

    public boolean included(String s1,String s2){
        for(int i=0;i<s1.length();i++){
            if(s2.indexOf(s1.charAt(i))==-1)
                return false;
            else
                if(i==s1.length()-1)
                    return true;
        }
        return true;
    }
    //該類函數復雜度過高,有待改進算法!!
    public void maxfrequent_gen(){
        int i,j;
        Iterator iterator,iterator1,iterator2;
        String temp="",temp1="",temp2="";
        for(i=0;i<frequent_top;i++){
            max_frequent.addAll(frequent_set[i]);
        }
        for(i=0;i<frequent_top;i++){
            iterator1=frequent_set[i].iterator();
            while(iterator1.hasNext()){
                temp1=(String)iterator1.next();
                for(j=i+1;j<frequent_top;j++){
                    //System.out.println("i="+i+"\tj="+j);
                    //System.out.println(s[j+1]);
                    iterator2=frequent_set[j].iterator();
                    while(iterator2.hasNext()){
                        temp2=(String)iterator2.next();
                        if(included(temp1,temp2))
                            max_frequent.remove(temp1);
                    }
                }    
            }    
        }
    }

    public void print_maxfrequent(){
        Iterator iterator=max_frequent.iterator();
        System.out.print("最大頻繁項集:");
        while(iterator.hasNext()){
            System.out.print((String)iterator.next()+"\t");
        }
        System.out.println();
    }
    
    public void subGen(String s){
        String x="",y="";
        for(int i=1;i< (1<<s.length())-1;i++){
            for(int j=0;j<s.length();j++){
                if(((1<<j)&i)!=0){
                    //System.out.print(s.charAt(j));
                    x+=s.charAt(j);
                }
            }
            //System.out.print("\t");
            for(int j=0;j<s.length();j++){
                if(((1<<j)&(~i))!=0){
                    //System.out.print(s.charAt(j));
                    y+=s.charAt(j);
                //System.out.println(x.trim()+"\t"+y.trim());
                }
            }    
            //System.out.println(x+"\t"+y);
            if(count_sup(x+y)/count_sup(x)>=minconf){
                rule.put(x,y);
            }
            x="";y="";
            
        }
    }
    
    public void ruleGen(){
        String s;
        Iterator iterator=max_frequent.iterator();
        while(iterator.hasNext()){
            s=(String)iterator.next();
            subGen(s);
        }
    }
    
    public void rulePrint(){
        String x,y;
        double temp=0;
        Set hs=rule.keySet();
        Iterator iterator=hs.iterator();
        System.out.println("關聯規(guī)則:");
        while(iterator.hasNext()){
            x=(String)iterator.next();
            y=(String)rule.get(x);
            temp=(count_sup(x+y)/count_sup(x));
            System.out.println(x+"==>"+y+"\t"+temp);
        }
    }
    
    public void run(){
                int k=1;
                //myapriori run=new myapriori();
                item1_gen();
                do{
                        k++;
                        canditate_gen(k);
                        frequent_gen(k);
                }while(!is_frequent_empty(k));
                frequent_top=k-1;
        print_canditate();
        maxfrequent_gen();
        print_maxfrequent();
        ruleGen();
        rulePrint();
    
    }
    
    public static void main(String [] args){
        myapriori x=new myapriori();
        x.run();
    }

    //for test
    void print1(){
        Iterator temp=canditate_set[0].iterator();
        while(temp.hasNext())
            System.out.println(temp.next());    
    } 
    //for test
    void print2(){
        Iterator temp=frequent_set[0].iterator();
        while(temp.hasNext())
            System.out.println((String)temp.next());
    }
    //for test
    void print3(){
        canditate_gen(1);
        frequent_gen(2);
        Iterator temp=canditate_set[1].iterator();
        Iterator temp1=frequent_set[1].iterator();
        while(temp.hasNext())
            System.out.println("候選"+(String)temp.next());
        while(temp1.hasNext())
            System.out.println("頻繁"+(String)temp1.next());
    }
    
    void print_canditate(){
        
        for(int i=0;i<frequent_set[0].size();i++){
            Iterator ix=canditate_set[i].iterator();
            Iterator iy=frequent_set[i].iterator();
            System.out.print("候選集"+(i+1)+":");
            while(ix.hasNext()){
                System.out.print((String)ix.next()+"\t");
            }
            System.out.print("\n"+"頻繁集"+(i+1)+":");
            while(iy.hasNext()){
                System.out.print((String)iy.next()+"\t");
            }
            System.out.println();
        }
    }    

/*    //main function for test
    public static void main(String [] args){
    myapriori run=new myapriori();
    run.item1_gen();
    run.print2();
    run.print3();
    }
*/

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品欧美日韩精品| 337p日本欧洲亚洲大胆色噜噜| 精品中文av资源站在线观看| 午夜日韩在线观看| 天堂av在线一区| 午夜精品一区二区三区免费视频| 亚洲一区二区三区四区不卡| 亚洲成人久久影院| 视频一区在线播放| 奇米影视一区二区三区小说| 美女在线视频一区| 国产不卡在线一区| www.66久久| 欧美日产国产精品| 日韩精品一区二| 中文字幕久久午夜不卡| 亚洲欧美一区二区在线观看| 亚洲国产精品精华液网站| 亚洲va天堂va国产va久| 经典三级一区二区| av电影天堂一区二区在线 | 欧美裸体一区二区三区| 制服丝袜在线91| 久久久久久久久久久久久久久99 | 国产精品影视网| 99re热这里只有精品免费视频| 日本高清不卡aⅴ免费网站| 91麻豆精品国产无毒不卡在线观看| 欧美一卡在线观看| 国产欧美精品一区二区色综合| 国产精品家庭影院| 日韩高清中文字幕一区| 国产风韵犹存在线视精品| 色域天天综合网| 久久一留热品黄| 亚洲韩国一区二区三区| 韩国成人在线视频| 91成人在线精品| 久久久久久毛片| 亚洲一区二区三区视频在线播放 | 国产精品午夜免费| 日日摸夜夜添夜夜添亚洲女人| 国产盗摄精品一区二区三区在线| 色综合av在线| 国产精品丝袜久久久久久app| 肉丝袜脚交视频一区二区| 成人成人成人在线视频| 欧美成人a在线| 亚洲高清久久久| 99精品欧美一区二区三区综合在线| 欧美一区二区三区日韩视频| 亚洲欧洲日韩在线| 国产激情视频一区二区三区欧美| 在线播放日韩导航| 亚洲欧美日韩中文字幕一区二区三区 | 678五月天丁香亚洲综合网| 国产精品久久夜| 国产精品亚洲一区二区三区妖精 | 国产乱人伦偷精品视频免下载 | 青草国产精品久久久久久| 色综合天天综合狠狠| 亚洲国产sm捆绑调教视频| 国产成人精品影视| 欧美精品一区男女天堂| 日本视频一区二区| 欧美男人的天堂一二区| 亚洲国产精品自拍| 色狠狠综合天天综合综合| 中文字幕中文字幕在线一区 | 精品视频一区二区三区免费| 亚洲精品欧美专区| 色偷偷久久一区二区三区| 国产精品色眯眯| 成人精品视频一区二区三区尤物| 久久精品欧美一区二区三区不卡| 日韩电影在线观看一区| 9191久久久久久久久久久| 日韩**一区毛片| 日韩欧美高清dvd碟片| 秋霞成人午夜伦在线观看| 欧美精选在线播放| 蜜臀av在线播放一区二区三区| 91麻豆精品国产91久久久 | 久久久国产精品麻豆| 国产一区二区视频在线| 久久久久国产一区二区三区四区 | 亚洲三级电影全部在线观看高清| 94-欧美-setu| 亚洲宅男天堂在线观看无病毒| 欧洲一区在线电影| 樱花影视一区二区| 欧美精品99久久久**| 蜜臀va亚洲va欧美va天堂 | a亚洲天堂av| 亚洲主播在线观看| 欧美一级片在线观看| 久久9热精品视频| 国产欧美日韩在线观看| 99久久综合精品| 亚洲一级在线观看| 精品国产一区二区三区忘忧草| 丁香激情综合国产| 一区二区三区在线观看动漫| 337p亚洲精品色噜噜| 成人免费的视频| 视频一区二区三区中文字幕| 久久久午夜精品理论片中文字幕| 成人丝袜18视频在线观看| 亚洲成人av在线电影| 久久久久久影视| 欧美专区日韩专区| 久久99精品久久久久久久久久久久| 国产精品美女久久久久久久久久久| 91麻豆文化传媒在线观看| 日本不卡视频在线| 自拍偷拍欧美激情| 欧美成人a在线| 在线观看免费视频综合| 久久精品国产99久久6| 亚洲情趣在线观看| 精品播放一区二区| 欧美日韩免费高清一区色橹橹| 国产精品中文字幕日韩精品| 亚洲综合免费观看高清完整版在线 | 成人小视频在线| 日韩不卡免费视频| 夜夜夜精品看看| 国产精品久久夜| 久久一区二区三区国产精品| 欧美日韩国产天堂| 欧美日韩一区二区电影| 91免费视频观看| 国产一区二区三区日韩 | 久久久.com| 日韩一区二区在线看| 在线看一区二区| 不卡电影一区二区三区| 国产一区91精品张津瑜| 秋霞午夜av一区二区三区| 亚洲制服欧美中文字幕中文字幕| 中文字幕在线不卡一区| 国产亚洲一区二区三区在线观看| 91精品国模一区二区三区| 欧美婷婷六月丁香综合色| 91亚洲精品久久久蜜桃网站 | 国产一区在线精品| 免费在线看一区| 热久久久久久久| 丝袜美腿亚洲色图| 亚洲不卡av一区二区三区| 一个色妞综合视频在线观看| 中文字幕综合网| 亚洲免费av高清| 亚洲综合偷拍欧美一区色| 一区二区在线免费观看| 亚洲最快最全在线视频| 亚洲激情成人在线| 亚洲综合在线观看视频| 亚洲女子a中天字幕| 一区二区三区四区精品在线视频| 亚洲美女在线国产| 亚洲一区免费视频| 爽爽淫人综合网网站| 男女男精品网站| 国产一区二区三区香蕉| 粉嫩一区二区三区在线看| av毛片久久久久**hd| 在线欧美日韩国产| 5566中文字幕一区二区电影 | a亚洲天堂av| 一本色道**综合亚洲精品蜜桃冫| 91成人在线精品| 欧美一区二区三级| 久久精品一区四区| 专区另类欧美日韩| 日韩中文字幕亚洲一区二区va在线| 日韩专区在线视频| 国产精品一卡二| 在线免费一区三区| 日韩美女主播在线视频一区二区三区| 久久久精品日韩欧美| 亚洲黄色小说网站| 精品一区二区三区免费毛片爱 | 欧美一区二区在线免费观看| 亚洲精品一区二区三区精华液| 亚洲国产精品激情在线观看 | 欧美日韩国产首页| 国产日韩在线不卡| 亚洲五月六月丁香激情| 国产一区二区成人久久免费影院| 成人黄色综合网站| 日韩一区二区电影网| 中文字幕一区二| 久久成人麻豆午夜电影| 91网站在线播放| 国产亚洲精品7777| 天使萌一区二区三区免费观看| 成人动漫精品一区二区| 欧美tickling挠脚心丨vk| 亚洲精品免费电影|