Processamento de Dados Massivos/Projeto e implementação de aplicações Big Data/Classificação associativa incremental (LAC): diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 135:
== Avaliação Experimental ==
 
Nesta seção é detalhado o processo de experimentação e avaliação da solução apresentada.
=== Métodos de Particionamento ===
 
==== ParticionamentoConjunto Aleatóriode dados ====
 
Nos experimentos realizados foi utilizada uma base de dados textuais de Tweets coletados enter Junho e Outubro de 2010 tendo como foco as eleições presidenciais do Brasil. A então candidata Dilma Rousseff lançou um perfil no Twitter durante um anúncio público e usou esta rede social como uma das principais fontes de informção para seus eleitores. A campanha atraiu mais de 500.000 seguidores e Dilma foi a segunda pessoa mais citada no Twitter em 2010. Houve segundo turno nas eleições e Dilma Rousseff foi eleita com 56% dos votos.
Este método consiste em particionar de forma aleatória o teste em N grupos de tamanho iguais. A principal vantagem deste método é que cada mapper processa uma quantidade de instancias iguais, desta forma distribuindo melhor a carga. Contudo este método não leva em conta a cache e pode acabar gerando um grande número de misses na cache.
 
Foram coletadas 446.724 mensagens referindo Dilma Rousseff no Twitter durante sua campanha, sendo selecionadas aleatóriamente 66.643 destas mensagens para rotulação manual. As mensagens foram rotuladas de forma a traçar o sentimento de aprovação em relação a candidada neste perído. A aprovação varia consideravelmente devido a várias afirmações polemicas e ataques políticos. O conjunto de dados contém somente mensagens em Português com 62.089 termos distintos e cada mensagem foi rotulada em Positivo ou Negativo, resultado em 46.808 mensagens Positivas e 19.835 Negativas.
==== Particionamento por Clustering ====
 
=== Método de Avaliação ===
Este método consiste na separação do conjunto de testes por meio de algoritmos de clustering. A principal vantagem deste método é que instancias semelhantes gerar regras semelhantes e portanto maximizar o uso da cache. Porém este método pode gerar clusteres desbalanceados o que pode acabar se tornando um gargalo.
 
O foco deste trabalho é maximizar a utilização do Cache de Regras de Associação utilizado pelo LAC. Sendo assim, os experimentos realizados visam extrair métricas que comprovem ou não a maximização do uso deste recurso. As métricas utilizadas para medir quanto o Cache é utilizado são a quantidade de Misses e Hits. A primeira mede quantas regras novas tiveram que ser extraídas, uma vez que o padrão requerido não foi encontrado. Por outro lado, a segunda métrica mede a quantidade de regras que foram utilizadas do Cache.
==== Particionamento por Clustering com cortes ====
 
Com a finalidade de medir a quantidade de Misses e Hits submetemos o ''Distributed'' LAC a três senários diferentes baseados na primeira fase de execução do algoritmo, o Particionamento de Dados:
 
# Particionamento Aleatório: Este método consiste em particionar de forma aleatória o teste em N grupos de tamanho iguais. A principal vantagem deste método é que cada mapper processa uma quantidade de instancias iguais, desta forma distribuindo melhor a carga. Contudo este método não leva em conta a cache e pode acabar gerando um grande número de misses na cache.;
 
# Particionamento por Similaridade: Este método consiste na separação do conjunto de testes por meio de algoritmos de clustering. A principal vantagem deste método é que instancias semelhantes gerar regras semelhantes e portanto maximizar o uso da cache. Porém este método pode gerar clusteres desbalanceados o que pode acabar se tornando um gargalo.;
 
# Particionamento por Similaridade com Cortes: Este método consiste na separação do conjunto de testes por meio de duas etapas. Na primeira etapa separamos o conjunto de testes utilizando algoritmos de clustering. Na segunda etapa realizamos um processo de corte nos grupos grandes, istode é,forma separamosa evitar ''overhead'' de rede para transmitir grupos muito grandes.
 
Através destes métodos de particionamento espera-se comprovar que a quantidade de Misses no Particionamento Aleatório (1) é maior do que nos Particionamentos por Similaridade (2) e (3), pois as instâncias processadas em (1) poderão necessitar de conjuntos de regras discrepantes, obrigando a extração frequente de regras.
 
O método de experimentação utilizado é o 10-''folds-cross-validation'' que consistem de criar 10 conjuntos diferentes de treino e teste. Para o particionamento (1) o conjunto de teste é separado aleatóriamente na função Map. Os particionamentos (2) e (3) é feito o agrupamento no conjunto de teste e gerado um arquivo para cada grupo. No caso do particionamento (3) os grupos grandes são divididos em grupos menores. Cada um desses grupos é então carregado e processado em Maps diferentes.
 
Este método consiste na separação do conjunto de testes por meio de duas etapas. Na primeira etapa separamos o conjunto de testes utilizando algoritmos de clustering. Na segunda etapa realizamos um processo de corte nos grupos grandes, isto é, separamos
=== Resultados ===