Partilhar via


Referência técnica do algoritmo de agrupamento de sequência da Microsoft

O algoritmo de Agrupamento de Sequências da Microsoft é um algoritmo híbrido que usa a análise da Cadeia de Markov para identificar sequências ordenadas e combina os resultados dessa análise com técnicas de agrupamento para gerar grupos com base nas sequências e em outros atributos no modelo. Este tópico descreve a implementação do algoritmo, como personalizar o algoritmo e requisitos especiais para modelos de clustering de sequência.

Para obter informações mais gerais sobre o algoritmo, incluindo como procurar e consultar modelos de clustering de sequência, consulte o Algoritmo de Clustering de Sequência da Microsoft.

Implementação do Algoritmo de Agrupamento de Sequências da Microsoft

O modelo de Clustering de Sequência da Microsoft usa modelos Markov para identificar sequências e determinar a probabilidade de sequências. Um modelo Markov é um grafo direcionado que armazena as transições entre estados diferentes. O algoritmo de agrupamento de sequência da Microsoft usa cadeias de Markov de ordem n, e não um modelo de Markov oculto.

O número de ordens em uma cadeia de Markov informa quantos estados são utilizados para determinar a probabilidade dos estados correntes. Em um modelo Markov de primeira ordem, a probabilidade do estado atual depende apenas do estado anterior. Em uma cadeia Markov de segunda ordem, a probabilidade de um estado depende dos dois estados anteriores e assim por diante. Para cada cadeia Markov, uma matriz de transição armazena as transições para cada combinação de estados. À medida que o comprimento da cadeia Markov aumenta, o tamanho da matriz também aumenta exponencialmente e a matriz se torna extremamente esparsa. O tempo de processamento também aumenta proporcionalmente.

Pode ser útil visualizar a cadeia usando o exemplo de análise de clickstream, que analisa as visitas a páginas da Web em um site. Cada usuário cria uma longa sequência de cliques para cada sessão. Quando você cria um modelo para analisar o comportamento do usuário em um site, o conjunto de dados usado para treinamento é uma sequência de URLs, convertida em um grafo que inclui a contagem de todas as instâncias do mesmo caminho de clique. Por exemplo, o grafo contém a probabilidade de que o usuário mova da página 1 para a página 2 (10%), a probabilidade de o usuário passar da página 1 para a página 3 (20%) e assim por diante. Ao juntar todos os caminhos e partes possíveis dos caminhos, você obtém um grafo que pode ser muito mais longo e complexo do que qualquer caminho observado.

Por padrão, o algoritmo de Agrupamento de Sequência da Microsoft usa o método EM (Maximização de Expectativa) para agrupamento. Para obter mais informações, consulte Referência técnica do algoritmo de clustering da Microsoft.

Os objetivos do clustering são tanto os atributos sequenciais quanto os não sequenciais. Cada cluster é selecionado aleatoriamente usando uma distribuição de probabilidade. Cada cluster tem uma cadeia Markov que representa o conjunto completo de caminhos e uma matriz que contém as transições e probabilidades de estado de sequência. Com base na distribuição inicial, a regra bayes é usada para calcular a probabilidade de qualquer atributo, incluindo uma sequência, em um cluster específico.

O algoritmo de Agrupamento de Sequências da Microsoft apoia a adição de atributos não sequenciais ao modelo. Isso significa que esses atributos adicionais são combinados com os atributos de sequência para criar clusters de casos com atributos semelhantes, assim como em um modelo de clustering típico.

Um modelo de clustering de sequência tende a criar muito mais clusters do que um modelo de clustering típico. Portanto, o algoritmo Clustering de Sequência da Microsoft executa a decomposição do clusterpara separar clusters com base em sequências e outros atributos.

Seleção de características em um modelo de agrupamento sequencial

A seleção de recursos não é invocada ao criar sequências; no entanto, a seleção de recursos se aplica no estágio de clustering.

Tipo de modelo Método de Seleção de Atributos Comentários
Agrupamento de Sequências Não usado A seleção de recursos não é invocada; no entanto, você pode controlar o comportamento do algoritmo definindo o valor dos parâmetros MINIMUM_SUPPORT e MINIMUM_PROBABILIITY.
Agrupamento Pontuação de interessante Embora o algoritmo de clustering possa usar algoritmos discretos ou discretizados, a pontuação de cada atributo é calculada como uma distância e é contínua; portanto, a pontuação de interesse é usada.

Para obter mais informações, consulte Seleção de Recursos.

Otimizando o desempenho

O algoritmo de Agrupamento de Sequências da Microsoft suporta diferentes formas de otimizar o processamento:

  • Controlando o número de clusters gerados, definindo um valor para o parâmetro CLUSTER_COUNT.

  • Reduzindo o número de sequências incluídas como atributos, aumentando o valor do parâmetro MINIMUM_SUPPORT. Como resultado, sequências raras são eliminadas.

  • Reduzindo a complexidade antes de processar o modelo, agrupando atributos relacionados.

Em geral, você pode otimizar o desempenho de um modo de Cadeia de Markov de ordem n de várias maneiras:

  • Controlando o comprimento das sequências possíveis.

  • Reduzindo programaticamente o valor de n.

  • Armazenando apenas probabilidades que excedem um limite especificado.

Uma discussão completa desses métodos está além do escopo deste tópico.

Personalizando o algoritmo de agrupamento de sequências

O algoritmo Clustering de Sequência da Microsoft dá suporte a parâmetros que afetam o comportamento, o desempenho e a precisão do modelo de mineração resultante. Você também pode modificar o comportamento do modelo concluído definindo sinalizadores de modelagem que controlam a maneira como o algoritmo processa dados de treinamento.

Definindo parâmetros de algoritmo

A tabela a seguir descreve os parâmetros que podem ser usados com o algoritmo Clustering de Sequência da Microsoft.

CONTAGEM_DE_AGRUPAMENTOS
Especifica o número aproximado de clusters a serem criados pelo algoritmo. Se o número aproximado de clusters não puder ser criado a partir dos dados, o algoritmo criará o máximo possível de clusters. Definir o parâmetro CLUSTER_COUNT como 0 faz com que o algoritmo use heurística para determinar melhor o número de clusters a serem compilados.

O padrão é 10.

Observação

Especificar um número diferente de zero atua como uma dica para o algoritmo, que prossegue com o objetivo de localizar o número especificado, mas pode acabar encontrando mais ou menos.

SUPORTE_MÍNIMO
Especifica o número mínimo de casos necessários para dar suporte a um atributo para criar um cluster.

O padrão é 10.

ESTADOS_DE_SEQUÊNCIA_MÁXIMA
Especifica o número máximo de estados que uma sequência pode ter.

Definir esse valor como um número maior que 100 pode fazer com que o algoritmo crie um modelo que não forneça informações significativas.

O padrão é 64.

ESTADOS_MÁXIMOS
Especifica o número máximo de estados para um atributo que não é sequência que o algoritmo dá suporte. Se o número de estados para um atributo não sequência for maior que o número máximo de estados, o algoritmo usará os estados mais populares do atributo e tratará os estados restantes como Missing.

O padrão é 100.

Bandeiras de modelagem

Os parâmetros de modelagem a seguir são compatíveis com o algoritmo de Agrupamento de Sequência da Microsoft.

NÃO NULO
Indica que a coluna não pode conter um nulo. Um erro resultará se o Analysis Services encontrar um valor nulo durante o treinamento do modelo.

Aplica-se à coluna de estrutura de mineração.

Existência_somente_modelo
Significa que a coluna será tratada como tendo dois estados possíveis: Missing e Existing. Um valor nulo é tratado como um Missing valor.

Aplica-se à coluna do modelo de mineração.

Para obter mais informações sobre o uso de valores ausentes em modelos de mineração e como valores ausentes afetam as pontuações de probabilidade, consulte Valores Ausentes (Analysis Services – Mineração de Dados).

Requisitos

A tabela de casos deve ter uma coluna de ID de caso. De forma opcional, a tabela de casos pode conter outras colunas que armazenam atributos sobre o caso.

O algoritmo de Clusterização de Sequência da Microsoft requer informações de sequência, armazenadas em uma tabela aninhada. A tabela aninhada precisa ter uma única coluna de Sequência de Chave. Uma Key Sequence coluna pode conter qualquer tipo de dados que possa ser classificado, incluindo tipos de dados de cadeia de caracteres, mas a coluna deve conter valores exclusivos para cada caso. Além disso, antes de processar o modelo, você deve garantir que a tabela de casos e a tabela aninhada estejam classificadas em ordem crescente com base na chave que relaciona as tabelas.

Observação

Se você criar um modelo que usa o algoritmo Microsoft Sequence, mas não utilizar uma coluna de sequência, o modelo resultante não conterá sequências, mas irá simplesmente agrupar os casos com base em outros atributos incluídos no modelo.

Colunas de entrada e de previsão

O algoritmo Clustering de Sequência da Microsoft dá suporte às colunas de entrada específicas e colunas previsíveis listadas na tabela a seguir. Para obter mais informações sobre o que os tipos de conteúdo significam quando usados em um modelo de mineração, consulte Tipos de Conteúdo (Mineração de Dados).

Coluna Tipos de conteúdo
Atributo de entrada Contínuo, cíclico, discreto, discretizado, chave, sequência de chaves, tabela e ordenado
Atributo previsível contínuo, cíclico, discreto, discretizado, tabela e ordenado

Observações

  • Use a função PredictSequence (DMX) para Previsão de Sequências. Para obter mais informações sobre as edições do SQL Server que dão suporte à Previsão de Sequência, consulte recursos compatíveis com as edições do SQL Server 2012 (https://go.microsoft.com/fwlink/?linkid=232473).

  • O algoritmo de Agrupamento de Sequência da Microsoft não suporta o uso da Linguagem de Marcação de Modelo Preditivo (PMML) para criar modelos de mineração.

  • O algoritmo de Agrupamento de Sequências da Microsoft dá suporte à navegação nos dados, ao uso de modelos de mineração OLAP e ao uso de dimensões de mineração de dados.

Consulte Também

Algoritmo de Clustering de Sequência da Microsoft
Exemplos de consulta de modelo de agrupamento de sequência
Conteúdo do modelo de mineração para modelos de agrupamento de sequências (Analysis Services – Mineração de dados)