SlideShare uma empresa Scribd logo
1 de 5
Baixar para ler offline
Pontifícia Universidade Católica do Paraná
            Centro de Ciências Exatas e de Tecnologia
            Ciência da Computação
            Reconhecimento de Padrões II



                                          Atividade Prática
                                   Aprendizagem Não Supervisionada

                                           31 de Agosto de 2009

Este exemplo ilustra a utilização do algoritmo de agrupamento K-Means. O arquivo de dados utilizado neste
experimento já foi pré-processado e está em formato compatível com o WEKA. A versão original dos dados
continha um campo de identificação do cliente que foi removido e o atributo “children” foi convertido no tipo
categórico. Isso, entretanto, não era estritamente necessário.

O arquivo de dados banco.arff contém 600 amostras. Como exemplo utilizaremos este arquivo e
executaremos o algoritmos de agrupamento k-Means do WEKA para agrupar os clientes deste arquivo de
dados e caracterizar os segmentos de clientes resultantes.




Algumas implementações do K-means permitem somente atributos de valor numérico. Neste caso, pode ser
necessário converter o conjunto de dados. Pode ser necessário também normalizar os valores dos atributos
que são medidos em escalas relativamente diferentes, como por exemplo, idade e renda. Apesar do WEKA
disponibilizar filtros para realizar todas estas tarefas de pré-processamento, elas não necessárias para o
agrupamento. Isto porque o algoritmo SimpleKMeans do WEKA lida automaticamente com uma mistura de
atributos categóricos e numéricos. Além disso, o algoritmo normaliza automaticamente atributos numéricos
no momento de calcular distâncias. O algoritmo SimpleKMeans do WEKA utiliza distância Euclideana
como métrica de proximidade entre instâncias e grupos.


Agrupamento no WEKA

Para realizar agrupamento, selecione a aba “Cluster” e o botão “Choose”. Isso resulta em uma lista dos
algoritmos de agrupamento disponíveis. Neste caso, selecionamos "SimpleKMeans". Em seguida, clique na
caixa de texto a direito do botão "Choose" para obter a janela pop-up para editar os parâmetros do
algoritmo.
Pontifícia Universidade Católica do Paraná
            Centro de Ciências Exatas e de Tecnologia
            Ciência da Computação
            Reconhecimento de Padrões II




Na janela pop-up inserimos seis (6) como número de grupos, ao invés do valor dois (2) padrão, e deixamos
o valor da semente (seed) como está. O valor da semente é usado na geração de um número aleatório que
é usado para fazer a atribuição inicial das instâncias aos grupos. Note que, em geral, o algoritmo K-Means é
bastante sensível em como os grupos são inicialmente atribuídos. Então, é normalmente necessário tentar
diferentes valores e avaliar os resultados.

Uma vez que todas as opções foram feitas, podemos executar o algoritmo de agrupamento. Devemos ter
certeza aqui de que no painel "Cluster Mode" a opção "Use training set" está selecionada, e então clicamos
"Start".
Pontifícia Universidade Católica do Paraná
           Centro de Ciências Exatas e de Tecnologia
           Ciência da Computação
           Reconhecimento de Padrões II




A janela de resultado mostra o centróide de cada cluster bem como estatística sobre o número e percentual
de instâncias atribuídas aos diferentes grupos (clusters). Os centróides dos grupos (clusters) são vetores
médios para cada grupo (então, cada valor de dimensão no centróide representa o valor médio para aquela
dimensão no grupo). Então, os centróides podem ser usados para caracterizar os grupos. Por exemplo, o
centróide do grupo 1 mostra que este é um segmento de casos representando mulheres de meia idade a
Pontifícia Universidade Católica do Paraná
           Centro de Ciências Exatas e de Tecnologia
           Ciência da Computação
           Reconhecimento de Padrões II


jovens morando em área central com uma renda média de $28.500, que são casadas, com um filho, etc.
Além disso, este grupo aceitou, na media o produto PEP.

Outra maneira de entender as características de cada grupo é através da visualização. Podemos fazer isso
clicando com o botão da direita o conjunto de resultados no painel da esquerda “Result list” e selecionando
"Visualize cluster assignments".




Você pode escolher o número do grupo e qualquer dos outros atributos para cada uma das três dimensões
diferentes disponíveis (x-axis, y-axis, e color). Diferentes combinações de escolhas resultarão em uma
renderização visual de diferentes relacionamentos entre cada grupo.

Finalmente, estamos interessados em armazenar o conjunto de dados resultante que inclui cada instância
com o grupo atribuído. Para isso, clicamos no botão "Save" na janela de visualização e armazenar o
resultado como um arquivo.

Note que em adição ao atributo "instance_number", o WEKA também incluiu o atributo "Cluster" ao conjunto
de dados original. Na parte dos dados, cada instância agora tem seu grupo atribuído como o último valor do
atributo.
Pontifícia Universidade Católica do Paraná
Centro de Ciências Exatas e de Tecnologia
Ciência da Computação
Reconhecimento de Padrões II

Mais conteúdo relacionado

Semelhante a Aula pratica k-means-rp2009

Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAdilmar Dantas
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Tchelinux
 
Apostila de estatitica 000293883
Apostila de estatitica 000293883Apostila de estatitica 000293883
Apostila de estatitica 000293883sergioviroli
 
Banco de dados
Banco de dadosBanco de dados
Banco de dadospadinho
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Geanderson Lenz
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesJoaquimOliveiraBapti1
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de InstânciasAugusto Giles
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadascesar do amaral
 
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Marcos Vinicius Fidelis
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7PeslPinguim
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesDalton Martins
 

Semelhante a Aula pratica k-means-rp2009 (20)

Pi raciocinio lógico
Pi   raciocinio lógicoPi   raciocinio lógico
Pi raciocinio lógico
 
Análise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de EmoçõesAnálise de Técnicas Computacionais para Classificação de Emoções
Análise de Técnicas Computacionais para Classificação de Emoções
 
Sistemas de Recomendação
Sistemas de RecomendaçãoSistemas de Recomendação
Sistemas de Recomendação
 
Tutorial R
Tutorial RTutorial R
Tutorial R
 
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
Data Mining e Machine Learning com Python - Mateus Grellert - Tchelinux Pelot...
 
Apostila de estatitica 000293883
Apostila de estatitica 000293883Apostila de estatitica 000293883
Apostila de estatitica 000293883
 
Plano deprojeto grupo1
Plano deprojeto grupo1Plano deprojeto grupo1
Plano deprojeto grupo1
 
Modelos de previsão de Ocorrências
Modelos de previsão de OcorrênciasModelos de previsão de Ocorrências
Modelos de previsão de Ocorrências
 
Apostila de bd
Apostila de bdApostila de bd
Apostila de bd
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
ENIA2005
ENIA2005ENIA2005
ENIA2005
 
Aula-04-UML.pptx
Aula-04-UML.pptxAula-04-UML.pptx
Aula-04-UML.pptx
 
Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...Guia completo para definição de estatística de modelos e algoritmos de machin...
Guia completo para definição de estatística de modelos e algoritmos de machin...
 
Sessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessõesSessao 6.pdf para aproveitametno em sessões
Sessao 6.pdf para aproveitametno em sessões
 
[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias[TCC] Apresentacao - Agrupamento de Instâncias
[TCC] Apresentacao - Agrupamento de Instâncias
 
A rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadasA rede neural supervisionada chamada perceptron multicamadas
A rede neural supervisionada chamada perceptron multicamadas
 
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014 Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
Construção de Classificadores utilizando Pentaho Data Mining (WEKA) - FTSL 2014
 
Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7Curso Básico de Java - Aula 7
Curso Básico de Java - Aula 7
 
Aula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrõesAula 03 - Identificando e tratando padrões
Aula 03 - Identificando e tratando padrões
 
kNN Algorithm
kNN AlgorithmkNN Algorithm
kNN Algorithm
 

Aula pratica k-means-rp2009

  • 1. Pontifícia Universidade Católica do Paraná Centro de Ciências Exatas e de Tecnologia Ciência da Computação Reconhecimento de Padrões II Atividade Prática Aprendizagem Não Supervisionada 31 de Agosto de 2009 Este exemplo ilustra a utilização do algoritmo de agrupamento K-Means. O arquivo de dados utilizado neste experimento já foi pré-processado e está em formato compatível com o WEKA. A versão original dos dados continha um campo de identificação do cliente que foi removido e o atributo “children” foi convertido no tipo categórico. Isso, entretanto, não era estritamente necessário. O arquivo de dados banco.arff contém 600 amostras. Como exemplo utilizaremos este arquivo e executaremos o algoritmos de agrupamento k-Means do WEKA para agrupar os clientes deste arquivo de dados e caracterizar os segmentos de clientes resultantes. Algumas implementações do K-means permitem somente atributos de valor numérico. Neste caso, pode ser necessário converter o conjunto de dados. Pode ser necessário também normalizar os valores dos atributos que são medidos em escalas relativamente diferentes, como por exemplo, idade e renda. Apesar do WEKA disponibilizar filtros para realizar todas estas tarefas de pré-processamento, elas não necessárias para o agrupamento. Isto porque o algoritmo SimpleKMeans do WEKA lida automaticamente com uma mistura de atributos categóricos e numéricos. Além disso, o algoritmo normaliza automaticamente atributos numéricos no momento de calcular distâncias. O algoritmo SimpleKMeans do WEKA utiliza distância Euclideana como métrica de proximidade entre instâncias e grupos. Agrupamento no WEKA Para realizar agrupamento, selecione a aba “Cluster” e o botão “Choose”. Isso resulta em uma lista dos algoritmos de agrupamento disponíveis. Neste caso, selecionamos "SimpleKMeans". Em seguida, clique na caixa de texto a direito do botão "Choose" para obter a janela pop-up para editar os parâmetros do algoritmo.
  • 2. Pontifícia Universidade Católica do Paraná Centro de Ciências Exatas e de Tecnologia Ciência da Computação Reconhecimento de Padrões II Na janela pop-up inserimos seis (6) como número de grupos, ao invés do valor dois (2) padrão, e deixamos o valor da semente (seed) como está. O valor da semente é usado na geração de um número aleatório que é usado para fazer a atribuição inicial das instâncias aos grupos. Note que, em geral, o algoritmo K-Means é bastante sensível em como os grupos são inicialmente atribuídos. Então, é normalmente necessário tentar diferentes valores e avaliar os resultados. Uma vez que todas as opções foram feitas, podemos executar o algoritmo de agrupamento. Devemos ter certeza aqui de que no painel "Cluster Mode" a opção "Use training set" está selecionada, e então clicamos "Start".
  • 3. Pontifícia Universidade Católica do Paraná Centro de Ciências Exatas e de Tecnologia Ciência da Computação Reconhecimento de Padrões II A janela de resultado mostra o centróide de cada cluster bem como estatística sobre o número e percentual de instâncias atribuídas aos diferentes grupos (clusters). Os centróides dos grupos (clusters) são vetores médios para cada grupo (então, cada valor de dimensão no centróide representa o valor médio para aquela dimensão no grupo). Então, os centróides podem ser usados para caracterizar os grupos. Por exemplo, o centróide do grupo 1 mostra que este é um segmento de casos representando mulheres de meia idade a
  • 4. Pontifícia Universidade Católica do Paraná Centro de Ciências Exatas e de Tecnologia Ciência da Computação Reconhecimento de Padrões II jovens morando em área central com uma renda média de $28.500, que são casadas, com um filho, etc. Além disso, este grupo aceitou, na media o produto PEP. Outra maneira de entender as características de cada grupo é através da visualização. Podemos fazer isso clicando com o botão da direita o conjunto de resultados no painel da esquerda “Result list” e selecionando "Visualize cluster assignments". Você pode escolher o número do grupo e qualquer dos outros atributos para cada uma das três dimensões diferentes disponíveis (x-axis, y-axis, e color). Diferentes combinações de escolhas resultarão em uma renderização visual de diferentes relacionamentos entre cada grupo. Finalmente, estamos interessados em armazenar o conjunto de dados resultante que inclui cada instância com o grupo atribuído. Para isso, clicamos no botão "Save" na janela de visualização e armazenar o resultado como um arquivo. Note que em adição ao atributo "instance_number", o WEKA também incluiu o atributo "Cluster" ao conjunto de dados original. Na parte dos dados, cada instância agora tem seu grupo atribuído como o último valor do atributo.
  • 5. Pontifícia Universidade Católica do Paraná Centro de Ciências Exatas e de Tecnologia Ciência da Computação Reconhecimento de Padrões II