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

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

?? gsp.cpp

?? 數(shù)據(jù)挖掘中的重要算法,大家可以根據(jù)自己的需要更改參數(shù),連接自己的數(shù)據(jù)使用
?? CPP
字號:
/*This is the GSP algorithm program which is to demostarte the result described in: R. Srikant and R. Agrawal. "Mining sequential patterns: Generalizations and performance improvements",  1996.1.DEVELOP ENVIRONMENT:Although initial version is developed under thehardware/software environment specified below, the program runs on more powerful and faster multiprocessor UNIX environments as well.	(1)Hardware: Intel Celeron 400 PC, 64M Memory;	(2)Operting system: Windows 98;	(3)Development tool: Inprise(Borland) C++ Builder 6.0.Note: The algorithm is developed under C++ Builder 6.0. However, it is possible to compile the program under any standard C++ development tools and run it.Program is in GSP.cpp, compiled with Unix "g++ GSP.cpp" and executed with a.out.2. INPUT: (1) test.data:For simplifying input process of the program, we assume that all input data has been preprocessed such that all events belongs to a same user id have been gathered together, and formed as a sequence which is saved in a named "test.data". The "test.data" file is composed of hundreds of thousands lines of sequence where each line represents a web access sequence for each user.Every line include UserID, length of sequence and the sequence which are seperated by table spaces.For example, given a line: 100	5	10	20	40	10	30.  100 represents UserID, 5 means the length of sequence is 5, the sequence is10,20,40,10,30. (2) minimum support:The program also needs to accept a value between 0 and 1 which is called minimum support. The minimum support is prompted to enter when the program starts.3. OUTPUT: result_GSP.dataOnce the program terminates, we can find the result patterns in a file named "result_GSP.data".It may contains lines of patterns. Each line represents a pattern.4. METHODS:	(1)GSP: read the file and mining5. ADDTIONAL INFORMATION: The run time is display on the screen with start time, end time and total seconds for running the program.*/#include <iostream>#include <map>#include <fstream>#include <list>#include <deque>using namespace std;struct candidate{        deque<int> sequence;        int count;};typedef multimap<int, int, less<int> > sequence;int frequency;float minSupp;bool finish;char *sourceFile = "test.data";int runTime = 0;void GSP();list<candidate> Test(list<candidate>);int main(){	  cout << "please enter the frequency:";	  cin >> minSupp;	  //minSupp = 0.75;        ofstream result("result_GSP.data", ios::trunc);        result.close();        int tim1 = time(0);        //cout<<"Now start the program......\n\n"<<endl;        GSP();        int tim2 = time(0);        cout<<"\n\nbegin time: "<<tim1<<'\n';        cout<<"end time  : "<<tim2<<'\n';        cout<<"The execution time is:\n"<< tim2-tim1;        cout<<"\n\nEnd the program"<<endl;        return 0;}void GSP(){	sequence seq, duplicate;    finish = false;//Next is Scan the database	ifstream ins ( sourceFile, ios::in);	if ( !ins) {		cerr << " File could not be opened\n";		exit(1);	}	sequence::iterator point, eflag;	int event, cid, number, seqNumber = 0;        //cout<<"Scan the original database once to find the 1-sequence" << endl;	while (ins && !ins.eof())	{	    ins >> cid;        ins >> number;        seqNumber++;		duplicate.clear();		for(int i=0; i< number; i++)        {			ins >> event;            if ( duplicate.find(event) == duplicate.end())            {        			duplicate.insert(sequence::value_type(event, 1));	        		point = seq.find(event);		        	eflag = seq.end();			        if ( point != eflag)	        			( point ->second )++;        			else	        			seq.insert( sequence::value_type(event,1));		    }		}	}        frequency = (int)(minSupp* seqNumber);        sequence::iterator i, bi;        for (  i = seq.begin(); i!=seq.end(); i++)        {                bi=i;                if( bi != seq.begin())                        bi--;                else                        bi= seq.begin();                if (i->second < frequency)                {                        seq.erase(i);                        i=bi;                }        }//        //cout<<"Found 1-sequence .....\n";        ofstream result("result_GSP.data", ios::app);        for( i = seq.begin(); i != seq.end(); i++ )                result<< i->first << endl;//                //cout<< i->first << endl;// Next is generate 2-sequence        //cout<<"\nGenerating 2-sequence....."<<endl;        list<candidate> candList;        for( i = seq.begin(); i != seq.end(); i++ )                for ( bi = seq.begin(); bi != seq.end(); bi++ )                {                        struct candidate newCand;                        newCand.count = 0;                        newCand.sequence.push_front(i->first);                        newCand.sequence.push_back(bi->first);                        candList.push_back(newCand);                }        runTime = 2;        do{                candList = Test(candList);        }while(!finish);        return;}list<candidate> Test(list<candidate> candList){// next is test seqeunce is frequent or not        int event, cid, number;	ifstream inFile ( sourceFile, ios::in);	if ( !inFile) {		cerr << " File could not be opened\n";		exit(1);	}        //cout<<"Testing "<<runTime<<"-sequence..."<<endl;	while (inFile && !inFile.eof())	{                deque<int> inSequence;	        inFile >> cid;                inFile >> number;                for (int i = 0; i < number; i++)                {                        inFile >> event;                        inSequence.push_back(event);                }                for ( list<candidate>::iterator candBrow = candList.begin(); candBrow != candList.end(); candBrow++)                {                        deque<int> candSequence = candBrow->sequence;                        unsigned int j = 0, k = 0;                        bool find = false;                        while (  j < candSequence.size() && k < inSequence.size() && !find )                        {                                if ( candSequence[j] == inSequence[k])                                {                                        j++;                                        if ( j == candSequence.size())                                                find = true;                                }                                k++;                        }                        if ( find )                                candBrow->count ++;                }        }        list<candidate>::iterator candBrow = candList.begin();        while( candBrow != candList.end() )        {                if ( candBrow->count < frequency ){                        candBrow = candList.erase(candBrow);                }                else candBrow++;        }//        //cout<<"Finish testing "<<runTime<<"-sequence. and This is result..."<<endl;        ofstream result("result_GSP.data", ios::app);        for ( candBrow = candList.begin(); candBrow != candList.end(); candBrow++)        {                deque<int> candSequence = candBrow->sequence;                for ( int i = 0; i< candSequence.size(); i++)                        result<< candSequence[i]<<"\t";                result<<endl;//                        //cout<< candSequence[i]<<"\t";//                //cout<<endl;        }        runTime++;        list<candidate> newCandList;        if( candList.size() == 0 )                finish = true;        else        {                //cout<<"\nGenerating "<<runTime<<"-sequence....."<<endl;                list<candidate>::iterator oneBrowser, twoBrowser;                for ( oneBrowser = candList.begin(); oneBrowser != candList.end(); oneBrowser++)                {                        deque<int> firstSeq = oneBrowser->sequence;                        for ( twoBrowser = candList.begin(); twoBrowser != candList.end(); twoBrowser++)                        {                                deque<int> secondSeq = twoBrowser->sequence;                                if( firstSeq[1] == secondSeq[0])                                {                                        int j = 1;                                        int length = firstSeq.size();                                        bool match = true;                                        while( j < length-1 && match )                                        {                                                if (firstSeq[j+1] != secondSeq[j])                                                        match = false;                                                j++;                                        }                                        if (match)                                        {                                                struct candidate newCand;                                                secondSeq.push_front(firstSeq.front());                                                newCand.sequence = secondSeq;                                                newCand.count = 0;                                                newCandList.push_back(newCand);                                        }                                }                        }                }        }        return newCandList;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一区二区在线观看| 精品美女在线观看| 粉嫩aⅴ一区二区三区四区| 日本最新不卡在线| 亚洲欧美电影院| 一区二区三区高清在线| 一区二区欧美精品| 天堂一区二区在线| 久久精品国产亚洲aⅴ| 男男视频亚洲欧美| 国产精品一二一区| 国产精品白丝jk黑袜喷水| 国产成人精品免费| 97久久精品人人做人人爽50路| 一本色道a无线码一区v| 在线观看区一区二| 日韩女优av电影| 欧美韩国日本不卡| 亚洲三级在线免费观看| 亚洲国产精品一区二区久久恐怖片| 亚洲国产人成综合网站| 麻豆精品一区二区综合av| 国产一区二区精品在线观看| 99久免费精品视频在线观看| 欧美日韩一区在线| 欧美精品一区男女天堂| 亚洲色图视频网站| 日韩高清在线电影| 成人教育av在线| 欧美色网一区二区| 2020国产精品自拍| 一区二区三区四区精品在线视频 | 久久精品亚洲精品国产欧美kt∨ | 国产精品久久久久久久久图文区 | 午夜在线成人av| 久久国产精品露脸对白| av在线不卡免费看| 欧美一区二区三区日韩| 亚洲天堂成人在线观看| 日韩精品一二区| 成人精品一区二区三区四区| 欧美日高清视频| ㊣最新国产の精品bt伙计久久| 日韩精品成人一区二区三区| 成人av免费网站| 精品国产乱码久久久久久蜜臀| 日本不卡视频在线| 色老汉一区二区三区| 精品国产一二三| 偷拍自拍另类欧美| 色综合激情五月| 中文字幕欧美日本乱码一线二线 | 亚洲精品在线三区| 一级精品视频在线观看宜春院| 国产呦萝稀缺另类资源| 欧美日韩不卡视频| 亚洲免费观看高清完整| 国产成人av一区二区三区在线| 欧美一二三四区在线| 偷拍一区二区三区| 欧美日韩精品久久久| **网站欧美大片在线观看| 国产福利一区二区三区视频 | 亚洲男人天堂一区| 成人免费福利片| 欧美激情一区二区三区不卡| 韩国成人福利片在线播放| 在线电影一区二区三区| 日韩精品电影在线| 欧美福利电影网| 日本aⅴ亚洲精品中文乱码| 国产欧美日韩不卡| 韩国av一区二区三区四区| 欧美岛国在线观看| 蜜芽一区二区三区| 欧美日韩成人高清| 日本sm残虐另类| 精品久久久久久最新网址| 美国精品在线观看| 精品久久久久久亚洲综合网| 精品在线播放免费| 久久久久一区二区三区四区| 国产成人免费在线视频| 中文字幕va一区二区三区| 国产东北露脸精品视频| 国产精品久久久久久久久搜平片| 不卡一区中文字幕| 亚洲精品视频在线观看免费| 91福利社在线观看| 亚洲国产精品一区二区www在线| 欧美绝品在线观看成人午夜影视| 蜜桃精品视频在线观看| 欧美成人bangbros| 国产91丝袜在线播放| 亚洲美女屁股眼交| 91麻豆精品国产91久久久久| 国精产品一区一区三区mba视频| 国产欧美一区二区三区鸳鸯浴 | 欧美日韩免费在线视频| 久久精品国产成人一区二区三区 | 悠悠色在线精品| 日韩无一区二区| 国产伦精品一区二区三区免费迷 | www.欧美日韩| 日本在线不卡视频| 国产欧美日韩中文久久| 91精品福利视频| 玖玖九九国产精品| 亚洲色图.com| 欧美zozo另类异族| 日本韩国欧美在线| 久久精品国产秦先生| 自拍偷拍国产亚洲| 日韩午夜精品电影| 在线精品视频免费观看| 国产精品一区不卡| 日韩高清欧美激情| 亚洲人成影院在线观看| 精品国产一区二区在线观看| 91啦中文在线观看| 国产精品自拍毛片| 午夜激情综合网| 中文字幕一区二区三| 精品国产青草久久久久福利| 欧美在线免费观看视频| 丰满少妇在线播放bd日韩电影| 日韩综合小视频| 亚洲摸摸操操av| 中文字幕欧美国产| 欧美成人官网二区| 91精品国产色综合久久ai换脸| 99久久综合99久久综合网站| 国产大片一区二区| 精品一区二区三区香蕉蜜桃| 婷婷激情综合网| 亚洲曰韩产成在线| 亚洲欧美日本韩国| 中文字幕视频一区二区三区久| 国产亚洲制服色| 国产三级一区二区| 久久久www成人免费无遮挡大片| 欧美日韩精品一区二区三区四区 | 日韩精品视频网| 一区二区三区电影在线播| 国产精品传媒视频| 一色屋精品亚洲香蕉网站| 国产日韩精品一区二区三区| 久久影院午夜论| 久久久久久99久久久精品网站| 精品日本一线二线三线不卡| 91麻豆精品久久久久蜜臀| 欧美手机在线视频| 欧美日韩一区 二区 三区 久久精品| 91欧美激情一区二区三区成人| www.爱久久.com| 日本精品裸体写真集在线观看 | 久久综合色8888| 精品国产乱码久久久久久蜜臀| 26uuu欧美| 欧美国产欧美亚州国产日韩mv天天看完整| 2024国产精品视频| 26uuu久久综合| 欧美国产日产图区| 亚洲激情图片qvod| 丝袜美腿成人在线| 久久精品久久99精品久久| 国产激情视频一区二区三区欧美| 国产91清纯白嫩初高中在线观看| 成人va在线观看| 欧洲一区二区三区在线| 91精品在线一区二区| 亚洲视频免费在线观看| 亚洲综合小说图片| 乱中年女人伦av一区二区| 国产在线精品视频| 不卡的av电影| 7777女厕盗摄久久久| 久久久久久久性| 亚洲一区中文在线| 久久99国产精品免费网站| 豆国产96在线|亚洲| 欧美三级视频在线| 精品少妇一区二区三区日产乱码| 国产精品护士白丝一区av| 亚洲一区二区三区不卡国产欧美| 看电视剧不卡顿的网站| 99精品视频在线观看| 欧美岛国在线观看| 一区二区三区中文在线| 久久成人免费网| 91丨porny丨国产| 日韩欧美一区电影| 亚洲欧洲三级电影| 美腿丝袜亚洲一区| 色综合激情五月| 国产精品色眯眯| 久久99国内精品| 欧美日韩免费观看一区二区三区 | 精品视频一区三区九区| 欧美激情在线看|