Aula sobre Diagrama Classe para a modelagem de requisitos.pptx
Trabalho e agrupamento.pdf
1. Clusterização
Técnicas de agrupamento (clustering) que explorem semelhanças entre
padrões e agrupem os padrões parecidos em categorias ou grupos.
Classificar ou agrupar objetos em categorias é atividade bastante
comum e vem sendo intensificada devido ao número elevado de informações
que estão disponíveis atualmente [Backer, 1995]. Para realizar esta tarefa
emprega-se um mecanismo denominado análise de cluster ou clusterização.
De acordo com [Jain and Dubes 1988], a clusterização é um método que
utiliza o aprendizado não supervisionado ou auto-organizável, ou seja, não há
um “professor” ou “crítico” que lhe indique o que cada padrão representa.
Aprendizagem não supervisionada ou clustering (agrupamento) busca
extrair informação relevante de dados não rotulados.
Uma solução mais geral consiste em definir medidas de similaridade
entre dois clusters assim como um critério global como a soma do erro
quadrático.
Existem vários algoritmos que fazem agrupamento.
Os algoritmos de agrupamento são classificados como hierárquicos ou
seqüenciais (ou iterativos).
Exemplo de agrupamento (clusters)
Cachorro
Gato Lagarta
Leão
Ambiente onde vivem
Sapo
Tubarão
Raia Povlo
Cachorro
Sapo Tubarão
Gato Leão
Contém esqueleto
Raia Povlo
Lagarta
Cachorro
Gato Leão
Ambiente onde vivem e contém esqueleto
Sapo
Raia Povlo
Lagarta
Tubarão
2. K-means ou K-média
K-means é uma técnica que usa o algoritmo de agrupamento de dados
por K-médias (K-means clustering). O objetivo deste algoritmo é encontrar a
melhor divisão de P dados em K grupos Ci, i = 1, ... K, de maneira que a
distância total entre os dados de um grupo e o seu respectivo centro, somada
por todos os grupos, seja minimizada.
Este método consiste em usar os valores dos primeiros n casos em um
arquivo de dados, como estimativas temporárias das médias dos k clusters,
onde k é o número de clusters especificado pelo usuário. Assim, o centro do
cluster inicial é formado para cada caso em torno dos dados mais próximos e,
então, comparados com os pontos mais distantes e os outros clusters
formados. A partir daí, dentro de um processo de atualização contínua e de um
processo interativo encontram-se os centros dos clusters finais [Monteiro e
Silva et al 2001].
Em outras palavras, o algoritmo atribui aleatoriamente os P pontos a K
grupos e calcula as médias dos vetores de cada grupo. Em seguida, cada
ponto é deslocado para o grupo correspondente ao vetor médio do qual ele
está mais próximo. Com este novo rearranjo dos pontos em K grupos, novos
vetores médios são calculados. O processo de re-alocação de pontos a novos
grupos cujos vetores médios são os mais próximos deles continua até que se
chegue a uma situação em que todos os pontos já estejam nos grupos dos
seus vetores médios mais próximos.
Abaixo é mostrado passo á passo e de uma forma prática e ilustrada,
como o k-means funciona:
1. É gerado randomicamente 3 centróides;
2. Atribuir a cada um dos objetos o grupo que tem o centróide mais
próximo
3. 3. São recalculado as posições dos centróide (é notado que alguns pontos
são deslocados de acordo com recalculo feito).
4. Se a posição dos centróide não mudar, será passado para próxima
etapa, se não voltará a 2ª etapa.
4. 5. Etapa final, todos os pontos foram agrupados.
Weka
Weka é uma coleção de algoritmos de aprendizagem de máquina para
tarefas de mineração de dados. Os algoritmos podem ser aplicados
diretamente a uma série de dados ou ser chamados de seu próprio código de
Java. Weka contém ferramentas para o pré-processamento de dados,
classificação, regressão, agrupamento, régras de associação e vizualisação. E
também pode ser usada para desenvolver novos algortimos de aprendizagem
de máquina.
Weka é software aberto da fonte emitido sob a licença do general
público do GNU.
Disponível em: http://www.cs.waikato.ac.nz/ml/weka
.ARFF
Um arquivo no formato .ARFF é um arquivo de texto puro, composto de
três partes:
Relação, a primeira linha do arquivo, que deve ser igual a @relation
seguida de uma palavrachave que identifique a relação ou tarefa sendo
estudada.
Atributos, um conjunto de linhas onde cada uma inicia com @attribute
seguida do nome do atributo e seguida do seu tipo, que pode ser nominal
(neste caso as alternativas devem aparecer como uma lista separada por
vírgulas e cercadas por chaves) ou numérico (neste caso o nome deve ser
seguido da palavra-chave real). Geralmente, em uma tarefa de classificação
supervisionada (onde conhecemos as classes das instâncias usadas para
treinamento) o último atributo é a classe para as instâncias.
5. Dados, depois de uma linha contendo @data. Cada linha deve
corresponder a uma instância e deve ter valores separados por vírgula
correspondentes (e na mesma ordem) dos atributos da seção Atributos.
O arquivo também pode conter linhas iniciadas com o sinal de percentagem
(%). Estas linhas serão consideradas comentários e não serão processadas.
Para referência, o conteúdo do arquivo weather.arff é mostrado na
listagem 1.
Listagem 1: Conteúdo do arquivo weather.arff
1 @relation weather
2
3 @attribute outlook {sunny, overcast, rainy}
4 @attribute temperature real
5 @attribute humidity real
6 @attribute windy {TRUE, FALSE}
7 @attribute play {yes, no}
8
9 @data
10 sunny,85,85,FALSE,no
11 sunny,80,90,TRUE,no
12 overcast,83,86,FALSE,yes
13 rainy,70,96,FALSE,yes
14 rainy,68,80,FALSE,yes
15 rainy,65,70,TRUE,no
16 overcast,64,65,TRUE,yes
17 sunny,72,95,FALSE,no
18 sunny,69,70,FALSE,yes
19 rainy,75,80,FALSE,yes
20 sunny,75,70,TRUE,yes
21 overcast,72,90,TRUE,yes
22 overcast,81,75,FALSE,yes
23 rainy,71,91,TRUE,no