Weka - Clustering

Um algoritmo de agrupamento encontra grupos de instâncias semelhantes em todo o conjunto de dados. WEKA oferece suporte a vários algoritmos de agrupamento, como EM, FilteredClusterer, HierarchicalClusterer, SimpleKMeans e assim por diante. Você deve compreender esses algoritmos completamente para explorar totalmente os recursos do WEKA.

Assim como no caso da classificação, o WEKA permite visualizar graficamente os clusters detectados. Para demonstrar o agrupamento, usaremos o banco de dados íris fornecido. O conjunto de dados contém três classes de 50 instâncias cada. Cada classe se refere a um tipo de planta de íris.

Carregando dados

No WEKA explorer, selecione o Preprocessaba. Clique noOpen file ... opção e selecione a iris.arffarquivo na caixa de diálogo de seleção de arquivo. Quando você carrega os dados, a tela se parece com a mostrada abaixo -

Você pode observar que existem 150 instâncias e 5 atributos. Os nomes dos atributos são listados comosepallength, sepalwidth, petallength, petalwidth e class. Os primeiros quatro atributos são do tipo numérico, enquanto a classe é do tipo nominal com 3 valores distintos. Examine cada atributo para entender os recursos do banco de dados. Não faremos nenhum pré-processamento nestes dados e prosseguiremos imediatamente para a construção do modelo.

Clustering

Clique no ClusterTAB para aplicar os algoritmos de agrupamento aos nossos dados carregados. Clique noChoosebotão. Você verá a seguinte tela -

Agora, selecione EMcomo o algoritmo de agrupamento. NoCluster mode subjanela, selecione o Classes to clusters evaluation opção como mostrado na imagem abaixo -

Clique no Startbotão para processar os dados. Depois de um tempo, os resultados serão apresentados na tela.

A seguir, vamos estudar os resultados.

Análise de saída

A saída do processamento de dados é mostrada na tela abaixo -

Na tela de saída, você pode observar que -

  • Existem 5 instâncias em cluster detectadas no banco de dados.

  • o Cluster 0 representa setosa, Cluster 1 representa virginica, Cluster 2 representa versicolor, enquanto os dois últimos clusters não têm nenhuma classe associada a eles.

Se você rolar para cima a janela de saída, também verá algumas estatísticas que fornecem a média e o desvio padrão para cada um dos atributos nos vários clusters detectados. Isso é mostrado na imagem abaixo -

A seguir, veremos a representação visual dos clusters.

Visualizando Clusters

Para visualizar os clusters, clique com o botão direito no EM resultar no Result list. Você verá as seguintes opções -

Selecione Visualize cluster assignments. Você verá a seguinte saída -

Como no caso da classificação, você notará a distinção entre as instâncias corretamente e incorretamente identificadas. Você pode brincar alterando os eixos X e Y para analisar os resultados. Você pode usar jittering como no caso de classificação para descobrir a concentração de instâncias corretamente identificadas. As operações no gráfico de visualização são semelhantes às que você estudou no caso da classificação.

Aplicando Clusterer Hierárquico

Para demonstrar o poder do WEKA, vamos agora examinar uma aplicação de outro algoritmo de agrupamento. No WEKA explorer, selecione oHierarchicalClusterer como seu algoritmo de ML, conforme mostrado na captura de tela mostrada abaixo -

Escolha o Cluster mode seleção para Classes to cluster evaluation, e clique no Startbotão. Você verá a seguinte saída -

Observe que no Result list, há dois resultados listados: o primeiro é o resultado EM e o segundo é o Hierárquico atual. Da mesma forma, você pode aplicar vários algoritmos de ML ao mesmo conjunto de dados e comparar rapidamente seus resultados.

Se você examinar a árvore produzida por este algoritmo, verá a seguinte saída -

No próximo capítulo, você estudará o Associate tipo de algoritmos de ML.