Processamento de Dados Massivos/Projeto e implementação de aplicações Big Data/Mineração de Itemsets Frequentes: diferenças entre revisões
[edição não verificada] | [edição não verificada] |
Conteúdo apagado Conteúdo adicionado
Linha 140:
{
vector< pair<string,string> > mapped;
// ... some parts are omited
vector<Transaction> transactions = transactionReader.read(filename); // Building transaction set
▲ ItemsetMiner * miner = new Eclat(vocabulary, sup, maxsize); // Calling Eclat
InvList * invlist = miner->mine(transactions);
for (pair< set<unsigned>,set<unsigned> > mfi : (*invlist) )
{
stringstream str; str << mfi.second.size() << ' ';
vector<unsigned> termids(mfi.first.begin(),mfi.first.end());
for (unsigned termid : termids) str << vocabulary.terms[termid] << ' ';
Linha 168 ⟶ 162:
virtual pair<string,string> reduce( pair<string, vector<string> > bs )
{
return pair<string,string>(bs.first,reduced.str()); ▼
▲ for (unsigned i = 0 ; i < bs.second.size() ; ++i) str << bs.second[i] << '\n';
▲ return pair<string,string>(bs.first,reduced);
};
};
Linha 190 ⟶ 182:
for (pair<string,unsigned> itemset : subset_counting)
{
stringstream str; str << itemset.second << ' ';
mapped.push_back(make_pair(itemset.first,str.str()));
}
Linha 205 ⟶ 196:
virtual pair<string,string> reduce( pair<string, vector<string> > bs )
{
unsigned sum(0);
for (unsigned i = 0 ; i < bs.second.size() ; ++i) sum += atoi(bs.second[i].c_str());
stringstream
return pair<string,string>(bs.first,reduced.str()); ▼
▲ return pair<string,string>(bs.first,reduced);
};
};
|