1. O documento descreve a abordagem DAMICORE para mineração de dados em repositórios de código.
2. A DAMICORE combina três técnicas: Distância de Compressão Normalizada, Algoritmo de Junção de Vizinhos, e Algoritmo de Detecção de Comunidades Fast Newman.
3. O documento fornece detalhes sobre cada técnica e como juntas elas formam a abordagem DAMICORE para análise e agrupamento de dados complexos como códigos e imagens.
Introdução à Teoria dos Grafos e Análise de Redes Sociais
DAMICORE: técnica de mineração de dados para análise de códigos e imagens
1. Francisco Gerson A. de Meneses
gerson@ifpi.edu.br
Aspectos conceituais
do
DAMICORE
----------------------
(Data Mining of
Code Repositories)
(Mineração de Dados de
Repositórios de Código)
2. Data Mining
Em geral, a Mineração de Dados (Data Mining -
DM) visa estudar grandes quantidades de dados
utilizando técnicas de diversas áreas para
encontrar relações entre dados e que, após
algumas observações, produzam novos
conhecimentos (Moro et al., 2014).
3. Big Data
Quanto mais a tecnologia foi penetrando no meio
social, mais informações as pessoas foram gerando
e consumindo, o desafio é analisar e entender uma
quantidade de dados cada vez maior por causa do
armazenamento mais barato e evolução dos dados
digitais e dispositivos de coleta de informações
(Volpato, 2013).
5. DAMICORE
A grande quantidade de amostras de códigos e
resultados dificultam a mineração de dados, isso
afeta negativamente o desempenho dos métodos de
mineração mais conhecidos (Sanches et al., 2011).
Para resolver este problema, foi proposto o uso em
conjunto de três técnicas, são elas:
=> Distância de Compressão Normalizada (NCD),
….Teoria da Computação
=> Algoritmo de junção de vizinhos (reconstrução
filogenética) - Neighbor Joining (NJ),
….Bioinformática
=> Algoritmo de Detecção de comunidades Fast
Newman (FN).
….Física
6. DAMICORE
Da combinação dessas três técnicas originou-se
abordagem para a mineração de dados de
repositórios de código (DAMICORE). DAMICORE
trabalha com diferentes tipos de representações de
código (Sanches et al., 2011).
Sanches, Adriano, Joao MP Cardoso, and Alexandre CB Delbem. "Identifying merge-
beneficial software kernels for hardware implementation." Reconfigurable Computing
and FPGAs (ReConFig), 2011 International Conference on. IEEE, 2011.
Tal técnica consiste em uma composição de
ferramentas, inicialmente escolhidas pela
compatibilidade de entradas e saídas (Cesar, 2016).
A seguir, o detalhamento das técnicas que
compõe o DAMICORE:
7. Distância de Compressão
Normalizada (NCD)
O NCD é calculado a partir dos comprimentos de
arquivos de dados compactados (individualmente e
concatenados). É universal na medida em que não
está restrito a uma área de aplicação específica e
funciona em todos os limites da área de aplicação
(Cilibrasi et al., 2005).
É definida por:
A NCD entre duas informações é expressa por um valor numérico
compreendido entre 0 e 1, sendo que um valor NCD próximo a 0 indica
que as informações são bastante semelhantes e um valor próximo a 1
indica que as informações não são semelhantes (Oliveira Ir et al., 2008).
8. Algoritmo de junção de vizinhos
(reconstrução filogenética) -
Neighbor Joining (NJ)
Essa técnica vem da filogenética que é o estudo do
processo de evolução de grupos de espécies, bem
como as relações existentes entre eles. No
DAMICORE as árvores frutos dessa técnica
representam a relação de distância entre os objetos
(Valvidia, 2007).
9. Algoritmo de detecção de
comunidades Fast Newman (FN)
A terceira técnica utilizadas são as Redes
Complexas para descobrir clusters na árvore gerada
pela técnica anterior. Vários algoritmos foram
desenvolvidos no campo das Redes Complexas,
porém o algoritmo utilizado na ferramenta é o Fast
Newman (FN) por conta do sucesso na aplicação em
rede de grande escala (Moro et al., 2014).
10. Em resumo, o DAMICORE
1 - Aplica o NCD para o cálculo da distância, para o
agrupamento e para a compressão dos objetos
analisados;
2 - O NJ constrói uma rede filogenética;
3 - FN identifica e forma os clusters das
comunidades em rede e o FA realiza os
particionamentos finais.
As etapas revelam a simplicidade do método, que ao
unir algoritmos largamente utilizados na literatura,
produz resultados eficientes e o torna apto a tratar e
a trabalhar com qualquer gênero de dados (Sanches
et al., 2011).
11. Em resumo, o DAMICORE
Fluxo do DAMICORE:
Extraído do arquivo “README.md”
https://github.com/sidgleyandrade/damicore-python
14. DAMICORE na prática
The MIT License (MIT) - Copyright (c) 2014
Joshua David
https://github.com/JoshuaDavid/Neighbor_Joining
Aplicação da NJ - Filogenia:
15. DAMICORE na prática
Aplicação da FN – Detecção de Comunidades:
Inicialmente, o FA (fast
algorithm) considera o
particionamento em que
cada nó da rede forma
uma comunidade.
Então, comunidades
são agrupadas em
pares considerando
todos os pares
possíveis (Helson et al.,
2015).
16. Observações
1)frase 1 e 6 são iguais
2)frase 3 difere da 1 só por uma letra
3)frase 5 é o maior texto
4)frase 4 são números
5)frase 2 diferente da 1 em duas palavras
6)observa-se isso na matriz de distância
7)algoritmo NJ dividiu as mais iguais e as mais diferentes
8)FN feito baseado na interpretação textual do algoritmo
19. DAMICORE na prática
Ferramenta DAMICORE - Textos:
Matriz de Distância (texts.phylip)
NJ - Filogenia (texts.newick)
FN - Detecção de
Comunidades (texts.clusters)
20. DAMICORE na prática
Ferramenta DAMICORE - Textos:
Árvore Filogenética gera a partir da ferramenta “FigTree”
http://tree.bio.ed.ac.uk/software/figtree/
NJ - Filogenia (texts.newick)
21. Observações
1)juntou frase 1 e frase 6 - correto
2)juntou frase 4 e frase 5 as mais diferentes- ?
3)deixou frase 3 e frase 2 separadas, sendo o vértice da frase 3 mais
próximo do cluster frase 1 e frase 6
4)na árvore a divisão dos grupos fica mais clara
22. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Imagens de EEG – Obtidas com o Software EEGLab
Imagem1.png Imagem2.png Imagem3.png
Imagem6.pngImagem5.pngImagem4.png
23. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Matriz de Distância (texts.phylip)
NJ - Filogenia (texts.newick)
FN - Detecção de
Comunidades (texts.clusters)
24. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Árvore Filogenética gera a partir da ferramenta “FigTree”
http://tree.bio.ed.ac.uk/software/figtree/
NJ - Filogenia (texts.newick)
25. Observações
1)imagem 1 e imagem 6 são iguais
2)imagem 3 e imagem 5 são semelhantes
3)imagens 2 e 4 são diferentes
4)encontrou cluster em imagem 1 e 6 - correto
5)encontrou cluster em imagem 3 e 5 - correto são semelhantes
6)isolou a imagem 4
7)manteve a imagem 2 próxima ao nó de imagens 1 e 6
8)na árvore manteve o cluster de imagens 1 e 6 e a imagem 2 próxima
9)isolou a imagem 5
26. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Imagens de EEG – Obtidas com o Software EEGLab,
amostras após a aplicação do algoritmo RGB+
Imagem1.png Imagem2.png Imagem3.png
Imagem6.pngImagem5.pngImagem4.png
27. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Matriz de Distância (texts.phylip)
NJ - Filogenia (texts.newick)
FN - Detecção de
Comunidades (texts.clusters)
28. DAMICORE na prática
Ferramenta DAMICORE - Imagens:
Árvore Filogenética gera a partir da ferramenta “FigTree”
http://tree.bio.ed.ac.uk/software/figtree/
NJ - Filogenia (texts.newick)
29. Observações
1)imagem 1 e imagem 6 são iguais
2)imagem 3 e imagem 5 são semelhantes
3)imagens 2 e 4 são diferentes
4)relação entre imagens 1,6 e 2 aproximada - correto
5)isolou a imagem 3 - ? (semelhante à imagem 5)
6)clusterizou imagens 4 e 5?
30. Estudos publicados
1)Identifying Merge-Beneficial Software Kernels for Hardware
Implementation – 2011
2)Caracterização de Alunos em Ambientes de Ensino Online: Estendendo o
Uso da DAMICORE para Minerar Dados Educacionais – 2014
3)Algoritmos de estimação de distribuição baseados em árvores
filogenéticas – 2014
4)Estudo e extensão da metodologia DAMICORE para tarefas de
classificação – 2016
5)Utilização de técnica de DAMICORE (data mining of code repositories)
para análise de imagens de eletrocardiogramas para o auxílio a
diagnóstico de cardiopatias – 2016
6)Detecção de Ilhamento de Geradores Síncronos Distribuídos por
Identificação de Padrões via Técnicas de Mineração de Dados – 2016
7)Improving the credibility of unreliable information through static images
and data mining: an experimental study to identify floods – 2016
31. Prospecção científica
Base de Dados Quantidade de Publicações
Periódicos da Capes 5
PubMed 0
Scopus 0
Descritor: “damicore”
Pesquisa em 19/06/2017
32. Conclusão e Próximos Passos…
=> Mostra-se promissor na medida em que detectou
similaridades em imagens e textos, no entanto não teve o
mesmo desempenho ao tratar as diferenças.
33. Bibliografia
● Moro LF de S, Rodrigues CL, Andrade FRH, Delbem ACB, Isotani S.
Caracterização de Alunos em Ambientes de Ensino Online: Estendendo o
Uso da DAMICORE para Minerar Dados Educacionais. An dos Work do
Congr Bras Informática na Educ. 2014;3(1):631-640.
doi:10.5753/cbie.wcbie.2014.631.
● Volpato T, Rufino RR, Dias JW. Big Data – Transformando Dados Em
Decisões. 2013.
● Sanches A, Cardoso JMP, Delbem ACB. Identifying merge-beneficial
software kernels for hardware implementation. Proc - 2011 Int Conf
Reconfigurable Comput FPGAs, ReConFig 2011. 2011:74-79.
doi:10.1109/ReConFig.2011.51.
● Cesar BKM. Estudo e extensão da metodologia DAMICORE para tarefas
de classificação. 2016:119.
● Cilibrasi R, Vitanyi PMB. Clustering by compression. IEEE Trans Inf
Theory. 2005;51(4):1523-1545. doi:10.1109/TIT.2005.844059.
● Valdivia a. MC. Mapeamento de dados multidimensionais usando árvores
filogenéticas: foco em mapeamento de textos (2007). Mapping
multidimensional data using phylogenetic tress: focus text mapping.
EnScientificcommonsOrg. 2007.
http://en.scientificcommons.org/26272568.
● Oliveira Jr WRD, Justino EJR, Oliveira LES. O uso de Algoritmos de
Compressão de Dados na Verificação da Autoria de Textos. Encontro Nac
Intel Artif. 2008.
● Helson A, Soares M, Claudio A, Delbem B. Detecção de Correlação em
Dados Complexos usando NCD. 2015:119-136.