1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khai phá luật kết hợp trong cơ sở dữ liệu và ứng dụng

89 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 1,25 MB

Nội dung

ransaction &tr) { length = tr.length; t = new int[tr.length]; for(int i=0; i< length; i++) t[i] = tr.t[i]; } Data::Data(char *filename, int t) { fn = filename; type = t; current=0; if(type>1) in = fopen(fn,"rt"); else in = fopen(fn,"rb"); } Data::~Data() { if(in) fclose(in); } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 74 Transaction *Data::getNext() { Transaction *t=0; switch(type) { case 1: t= getNextBin(); break; case 2: t= getNextAs(); break; case 3: t= getNextAsFlat(); break; case 4: t= getNextAsQuest(); break; } if(t) current++; else { rewind(in); current=0; } return t; } Transaction *Data::getNextAs() { Transaction *t; int tid, item, i; vector list; static int cur=0,prev=-1; static bool begin=true; if(feof(in)) { begin=true; prev=-1; return 0; } if(!begin) { list.push_back(cur); } else begin=false; while(true) { int dummy; fscanf(in, "%d %d %d",&dummy, &tid, &item); //fscanf(in, "%d %d", &tid, &item); if(feof(in)) { int size=list.size(); t = new Transaction(size); for(i=0; it[i] = list[i]; list.clear(); return t; } else if(prev= '0') && (c begin(); it != children>end(); it++) { deleted += it->deleteChildren(); } delete children; children = 0; deleted++; } return deleted; } /* File: AprioriRules.cpp */ #include #include #include #include #include #include using namespace std; #include "Item.h" #include "AprioriRules.h" AprioriRules::AprioriRules() { data=0; minconf=0; maxhead=0; trie = new Item(0); verbose = false; } AprioriRules::~AprioriRules() { if(data) fclose(data); if(trie) { trie->deleteChildren(); delete trie; } } void AprioriRules::setData(char *fn) { Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 77 data = fopen(fn,"rt"); } int AprioriRules::setOutputRules(char *fn) { rulesout.open(fn); if(!rulesout.is_open()) { cerr find(Item(t->t[depth])); if(it == items->end()) it = items->insert(Item(t>t[depth])).first; items = it->makeChildren(); } if(t->length) it->Increment(t->support); else trie->Increment(t->support); size = (t->length>size? t->length: size); delete t; } Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 78 if(verbose) cout getSupport()))/(float(runner->getSupport())*float(it>getSupport())); float conf = float(sup)/float(it->getSupport()); if(conf>=minconf) { for(i=0; i

Ngày đăng: 24/02/2021, 21:41

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w