Existe uma crescente necessidade por processos automáticos que executam o particionamento de dados em conjunto de grupos. Por exemplo, as bibliotecas digitais e a internet vêm crescendo exponencialmente e a habilidade de encontrar informações úteis depende dos algoritmos de classificação. Técnicas de Clustering podem ser usadas para descobrir grupos naturais em conjuntos de dados e identificar estruturas abstratas que possam existir, sem ter qualquer conhecimento prévio das características dos dados.(KOGAN, 2007)
Análise de agrupamento ou clustering consiste em agrupar um conjunto de observações de modo que as observações que pertençam a um mesmo grupo sejam parecidas entre si e diferentes das dos demais grupos. Desta forma temos dois princípios básicos da análise de agrupamento que são homogeneidade e separação. Sendo assim, quanto mais homogêneos são elementos dentro de um grupo mais separados ou diferentes são os grupos.