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

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

?? apriori.cpp

?? apriori算法源碼
?? CPP
字號:
// Apriori.cpp: implementation of the CApriori class.
//
//////////////////////////////////////////////////////////////////////

#include "Apriori.h"
#include "HashTree.h"

#include "itemSet.h"
#include "List.h"

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////


//---------------------------------------------------------------------------
//    Class Apriori

// Method that finds all large itemsets for the given set of instances.
void CApriori::FindLargeItemSets(List *instances)
{
    List *kMinusOneSets, *KSets;
    itemSet *current;

    int i = 0, j;

    CHashTree *tree;

    m_samples = instances;
    m_sampleNum = (long)m_samples->size();

    necSupport = (long)(m_minSupport*(double)m_sampleNum + 0.5);

    KSets = singletons();
    if (KSets->size() == 0)
        return;

	if(m_samples->size() <= 0)
		return;

    // Find k>=2 large itemsets
    do
    {
        m_Ls->add(KSets);
        kMinusOneSets = KSets;
        
        KSets = selfjoin(kMinusOneSets, i);
		delete kMinusOneSets;

        tree = (CHashTree *)new CHashTree();

        for(j = 0; j < KSets->size(); j++)
        {
            current = (itemSet *)KSets->get(j);
            tree->insert(&(tree->root), (itemSet *)current->clone(), 0);
//            delete current;
        }
        delete KSets;

        j= 0;
        while(j < m_samples->size())
        {
            current = (itemSet *)m_samples->get(j);
            if(current->size() < i+2)
            {
                m_samples->remove(j);
            }
            else
            {
                tree->subset(tree->root, current, 0);
                j++;
            }

//            delete current;
        }
        
        KSets = (List *)new List();
        tree->scan(tree->root, KSets, necSupport);

        delete tree;

        i++;

    } while (KSets->size() > 0);

    return;
}


// find 1 itemset
List * CApriori::singletons()
{
    List *setOfItemSets = (List *)new List();
    itemSet *current, *train;
    long necSupport;
    int i, j;
    int *svector;
    int itemid;


    svector = (int *)new int[pagenum];
    for(i = 0; i < pagenum; i++)
        svector[i] = 0;

    for(i = 0; i < m_samples->size(); i++)
    {
        train = (itemSet *)m_samples->get(i);

        for(j = 0; j < train->size(); j++)
        {
            itemid = train->get(j);

            svector[itemid] += 1;
        }
    }

    necSupport = (long)(m_minSupport*(double)(m_samples->size())+0.5);

    for(i = 0; i < pagenum; i++)
    {
        if((double)svector[i]/(double)(m_samples->size()) >= m_minSupport)
        {
            current = new itemSet();
            current->add(i);
            current->support(svector[i]);
    
            setOfItemSets->add(current);
//            delete current;
        }
    }

    /* delete all the items that are not in 1-lerge itemset */

    i = 0;
    while (i < m_samples->size())
    {
        train = (itemSet *)m_samples->get(i);

        j = 0;
        while (j < train->size())
        {
            itemid = train->get(j);

            if(svector[itemid] < necSupport)
                train->remove(j);
            else
                j++;
        }

        if(train->size() == 0)
            m_samples->remove(i);
        else
            i++;
    }

    delete svector;

    return setOfItemSets;
}


List * CApriori::selfjoin(List *in, int size)
{
    List *newVector = new List();
    itemSet *first;
    itemSet *second;
    itemSet *result;
    int i, j;
    
    for (i = 0; i < in->size(); i++)
    {
        first = (itemSet *)in->get(i);
        
        for (j = i+1; j < in->size(); j++)
        {
            second = (itemSet *)in->get(j);

            if((result = join(first, second, size)) != NULL)
            {
                if(prune(in, result, size))
                {
                    result->support(0);
                    newVector->add(result);
                }
				else
	                delete result;
            }

//            delete second;
        }

//        delete first;
    }
    
    return(newVector);
}

bool CApriori::prune(List *in, itemSet *attend, int size)
{
    itemSet *temp;
    bool result = true;

    for(int i = 0; i < attend->size(); i++)
    {
        temp = (itemSet *)attend->clone();
        temp->remove(i);
        
        if(in->indexOf(temp) < 0)
        {
            delete temp;
            result = true;
            break;
        }
        
        delete temp;
    }
    
    return(result);
}



itemSet * CApriori::join(itemSet *first, itemSet *attend, int size)
{
    itemSet *result = (itemSet *)NULL;
    int i;

    if( ! check(first, attend, size))
        return(result);
        
    result = (itemSet *)new itemSet();
    for(i = 0; i < size; i++)
        result->add(first->get(i));
    
    if(first->get(i) < attend->get(i))
    {
        result->add(first->get(i));
        result->add(attend->get(i));
    }
    else
    {
        result->add(attend->get(i));
        result->add(first->get(i));
    }
    
    return(result);		
}

bool CApriori::check(itemSet *first, itemSet *attend, int size)
{
    for(int i = 0; i < size; i++)
        if(first->get(i) != attend->get(i))
            return(false);
            
    return(true);
}



?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品乱码av一区二区| 国产精品88av| 国产一区二区调教| 欧美色涩在线第一页| 2014亚洲片线观看视频免费| 亚洲综合在线第一页| 国产麻豆一精品一av一免费| 欧美嫩在线观看| 成人欧美一区二区三区小说| 蜜桃在线一区二区三区| 在线视频综合导航| 国产精品丝袜在线| 国产另类ts人妖一区二区| 宅男噜噜噜66一区二区66| 亚洲色图另类专区| 成人免费的视频| 日韩女优av电影| 午夜欧美在线一二页| 在线一区二区三区四区五区| 国产精品美女久久久久aⅴ| 国产精品一卡二卡在线观看| 欧美电影免费观看高清完整版在线观看 | 国产精品网站一区| 天堂va蜜桃一区二区三区漫画版| 色婷婷av一区| 亚洲欧美国产三级| 成人在线综合网站| 国产三级三级三级精品8ⅰ区| 日本在线不卡视频一二三区| 欧美性猛交一区二区三区精品| 亚洲欧洲在线观看av| 99久久婷婷国产精品综合| 国产精品久久久久久久久搜平片 | 天天色图综合网| 欧美日韩在线三级| 午夜视频一区二区三区| 在线综合+亚洲+欧美中文字幕| 午夜精品久久久久久不卡8050| 欧美色电影在线| 亚洲成人综合网站| 欧美一区日韩一区| 美女网站一区二区| 久久久久久久久久看片| 国产精品白丝av| 国产精品美女视频| 91福利社在线观看| 日韩高清在线观看| 亚洲精品一区在线观看| 国产精品996| 亚洲人成精品久久久久久| 欧美综合天天夜夜久久| 日本麻豆一区二区三区视频| 久久久亚洲综合| 91蜜桃婷婷狠狠久久综合9色| 亚洲成av人综合在线观看| 日韩久久免费av| 国产成人午夜99999| 亚洲美女淫视频| 日韩亚洲欧美一区| 成人在线视频首页| 亚洲成人黄色影院| 久久久久久久综合色一本| 91在线观看美女| 人人爽香蕉精品| 国产精品嫩草影院av蜜臀| 在线免费亚洲电影| 国模套图日韩精品一区二区| 亚洲图片另类小说| 日韩一区二区三区免费看| 成人丝袜视频网| 午夜视黄欧洲亚洲| 国产精品热久久久久夜色精品三区| 色999日韩国产欧美一区二区| 免费成人你懂的| 亚洲黄色性网站| 久久一二三国产| 日本韩国欧美一区| 国产一区二区三区在线观看免费 | 日韩欧美国产高清| 日本韩国欧美一区| 国产精品66部| 日韩av中文在线观看| 亚洲欧美日本韩国| 久久精品亚洲精品国产欧美| 欧美日韩国产影片| 国产成人av福利| 婷婷中文字幕综合| 综合在线观看色| 久久久久久久久岛国免费| 欧美精品亚洲二区| 91麻豆高清视频| 国产成人小视频| 狠狠狠色丁香婷婷综合激情| 五月天一区二区三区| 国产精品久久久99| 久久久精品tv| 26uuu国产电影一区二区| 欧美日韩国产美女| 在线观看成人免费视频| av一二三不卡影片| 国产成人精品三级| 久久国产精品99久久人人澡| 天天操天天干天天综合网| 一卡二卡欧美日韩| 亚洲视频在线一区观看| 成人欧美一区二区三区视频网页| 国产欧美精品一区二区色综合朱莉 | 另类小说图片综合网| 亚洲第一av色| 亚洲国产日韩综合久久精品| 亚洲日本护士毛茸茸| 国产精品电影一区二区三区| 日本一区二区三区免费乱视频| 久久综合色一综合色88| 久久久99精品免费观看| 欧美mv日韩mv国产网站app| 日韩精品综合一本久道在线视频| 欧美一级理论片| 欧美videos大乳护士334| 欧美成人猛片aaaaaaa| 久久综合给合久久狠狠狠97色69| 欧美成人一区二区三区片免费 | 国产999精品久久久久久绿帽| 久久99久久精品| 国产精品一二三区| 福利一区二区在线观看| 大白屁股一区二区视频| 91麻豆swag| 欧美精品一二三四| 久久综合九色综合97_久久久| 2020国产精品| 中文字幕字幕中文在线中不卡视频| 伊人性伊人情综合网| 日韩av在线免费观看不卡| 国内成+人亚洲+欧美+综合在线| 福利视频网站一区二区三区| 欧美在线视频日韩| 91精品午夜视频| 欧美精品一区二区高清在线观看| 欧美激情一区二区三区不卡| 亚洲激情在线激情| 美脚の诱脚舐め脚责91| 成人高清伦理免费影院在线观看| 91久久精品网| 精品盗摄一区二区三区| 亚洲视频免费观看| 美女被吸乳得到大胸91| 成人avav影音| 日韩精品一区二区三区四区 | 欧美国产视频在线| 亚洲一区二区三区在线| 国产一区二区毛片| 欧美色国产精品| 欧美国产精品v| 午夜精品久久久久久久久久久| 国产一区激情在线| 欧美日韩国产另类不卡| 中文字幕一区二区三区四区 | 色综合久久中文字幕| 精品久久久久久久久久久院品网| 一区二区三区在线免费播放| 国产一区在线观看视频| 欧美日韩国产首页| 最新欧美精品一区二区三区| 国内精品久久久久影院一蜜桃| 欧洲一区二区av| 国产亚洲欧美一级| 免费观看在线综合| 色综合色狠狠综合色| 欧美国产日产图区| 精久久久久久久久久久| 欧美日韩一区二区三区在线| 国产精品不卡一区| 久久av中文字幕片| 欧美精品aⅴ在线视频| 亚洲精品欧美综合四区| 成人一区二区三区在线观看| 日韩欧美电影在线| 肉肉av福利一精品导航| 欧美色图一区二区三区| 国产精品久久久久久久久快鸭| 国产在线国偷精品产拍免费yy| 欧美一级专区免费大片| 五月天激情小说综合| 在线亚洲高清视频| 一区二区在线免费| 色妞www精品视频| 亚洲欧洲成人av每日更新| 国产激情一区二区三区| 日韩欧美成人午夜| 免费亚洲电影在线| 欧美日韩国产首页| 亚洲成人黄色影院| 色中色一区二区| 亚洲精品ww久久久久久p站| 日本电影欧美片| 综合久久久久久| 91香蕉视频在线| 亚洲综合一二三区| 色网站国产精品|