Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Ao criar uma consulta em um modelo de mineração de dados, você pode criar uma consulta de conteúdo, que fornece detalhes sobre as informações armazenadas no modelo ou pode criar uma consulta de previsão, que usa os padrões no modelo para fazer previsões com base nos novos dados fornecidos. Para um modelo de clustering de sequência, as consultas de conteúdo normalmente fornecem detalhes adicionais sobre os clusters encontrados ou as transições dentro desses clusters. Você também pode recuperar metadados sobre o modelo usando uma consulta.
As consultas de previsão em um modelo de agrupamento de sequência geralmente fazem recomendações com base em sequências e transições, em atributos não-sequenciais incluídos no modelo ou em uma combinação de atributos de sequência e não-sequenciais.
Esta seção explica como criar consultas para modelos baseados no algoritmo Clustering de Sequência da Microsoft. Para obter informações gerais sobre como criar consultas, consulte Consultas de Mineração de Dados.
Consultas de conteúdo
Usando o conjunto de linhas de esquema de mineração de dados para retornar parâmetros de modelo
Obtendo uma lista de sequências para um estado
Usando procedimentos armazenados do sistema
Consultas de previsão
Prever o próximo estado ou estados
Encontrando informações sobre o modelo de agrupamento de sequência
Para criar consultas significativas no conteúdo de um modelo de mineração, você deve entender a estrutura do conteúdo do modelo e quais tipos de nó armazenam que tipo de informação. Para obter mais informações, consulte Conteúdo dos Modelos de Mineração para Modelos de Agrupamento por Sequência (Analysis Services – Mineração de Dados).
Consulta de exemplo 1: usando o conjunto de linhas de esquema de mineração de dados para retornar parâmetros de modelo
Ao consultar o conjunto de linhas do esquema de mineração de dados, você pode encontrar vários tipos de informações sobre o modelo, incluindo metadados básicos, a data e a hora em que o modelo foi criado e processado pela última vez, o nome da estrutura de mineração na qual o modelo se baseia e a coluna usada como atributo previsível.
A consulta a seguir retorna os parâmetros usados para compilar e treinar o modelo. [Sequence Clustering] Você pode criar esse modelo na Lição 5 do Tutorial Básico de Mineração de Dados.
SELECT MINING_PARAMETERS
from $system.DMSCHEMA_MINING_MODELS
WHERE MODEL_NAME = 'Sequence Clustering'
Resultados do exemplo:
| PARÂMETROS_DE_MINERAÇÃO |
|---|
| CLUSTER_COUNT=15,MINIMUM_SUPPORT=10,MAXIMUM_STATES=100,MAXIMUM_SEQUENCE_STATES=64 |
Observe que esse modelo foi criado usando o valor padrão de 10 para CLUSTER_COUNT. Quando você especifica um número diferente de zero de clusters para CLUSTER_COUNT, o algoritmo trata esse número como uma dica para o número aproximado de clusters a serem encontrados. No entanto, no processo de análise, o algoritmo pode encontrar mais ou menos clusters. Nesse caso, o algoritmo descobriu que 15 clusters se encaixam melhor nos dados de treinamento. Portanto, a lista de valores de parâmetro para o modelo concluído relata a contagem de clusters conforme determinado pelo algoritmo, não o valor passado ao criar o modelo.
Como esse comportamento difere de permitir que o algoritmo determine o melhor número de clusters? Como um experimento, você pode criar outro modelo de clustering que usa esses mesmos dados, mas definir CLUSTER_COUNT como 0. Quando você faz isso, o algoritmo detecta 32 clusters. Portanto, usando o valor padrão de 10 para CLUSTER_COUNT, você restringe o número de resultados.
O valor de 10 é usado por padrão porque a redução do número de clusters torna mais fácil para a maioria das pessoas navegar e entender os agrupamentos nos dados. No entanto, cada modelo e conjunto de dados é diferente. Talvez você queira experimentar diferentes números de clusters para ver qual valor de parâmetro produz o modelo mais preciso.
Consulta de exemplo 2: Obtendo uma lista de sequências para um estado
O conteúdo do modelo de mineração armazena as sequências encontradas nos dados de treinamento como um primeiro estado, juntamente com uma lista de todos os segundos estados relacionados. O primeiro estado é usado como o rótulo da sequência e os segundo estados relacionados são chamados de transições.
Por exemplo, a consulta a seguir retorna a lista completa dos primeiros estados no modelo, antes que as sequências sejam agrupadas em clusters. Você pode obter essa lista retornando a lista de sequências (NODE_TYPE = 13) que têm o nó raiz do modelo como pai (PARENT_UNIQUE_NAME = 0). A palavra-chave FLATTENED facilita a leitura dos resultados.
Observação
O nome das colunas, PARENT_UNIQUE_NAME, Suporte e Probabilidade deve estar entre colchetes para distingui-las das palavras-chave reservadas de mesmo nome.
SELECT FLATTENED NODE_UNIQUE_NAME,
(SELECT ATTRIBUTE_VALUE AS [Product 1],
[Support] AS [Sequence Support],
[Probability] AS [Sequence Probability]
FROM NODE_DISTRIBUTION) AS t
FROM [Sequence Clustering].CONTENT
WHERE NODE_TYPE = 13
AND [PARENT_UNIQUE_NAME] = 0
Resultados parciais:
| NOME_UNICO_DO_NÓ | Produto 1 | Suporte a Processos Sequenciais | Probabilidade de sequência |
|---|---|---|---|
| 1081327 | Em falta | 0 | ####### |
| 1081327 | All-Purpose Suporte para Bicicleta | 17 | 0.00111 |
| 1081327 | Lavagem de Bicicleta | 64 | 0.00418 |
| 1081327 | (linhas 4-36 omitidas) | ||
| 1081327 | Shorts femininos para atividades de montanha | 506 | 0.03307 |
A lista de sequências no modelo é sempre classificada em ordem alfabética em ordem crescente. A ordenação das sequências é importante porque você pode encontrar as transições relacionadas examinando o número de ordem da sequência. O Missing valor é sempre a transição 0.
Por exemplo, nos resultados anteriores, o produto "Women's Mountain Shorts" é o número de sequência 37 no modelo. Você pode usar essas informações para ver todos os produtos que já foram comprados após "Women's Mountain Shorts".
Para fazer isso, primeiro, você faz referência ao valor retornado para NODE_UNIQUE_NAME na consulta anterior, para obter a ID do nó que contém todas as sequências do modelo. Você passa esse valor para a consulta como o ID do nó pai, para obter apenas as transições incluídas nesse nó, que, por sua vez, contém uma lista de todas as sequências para o modelo. No entanto, se você quiser ver a lista de transições para um cluster específico, poderá fornecer o ID do nó de cluster e ver apenas as sequências associadas a esse cluster.
SELECT NODE_UNIQUE_NAME
FROM [Sequence Clustering].CONTENT
WHERE NODE_DESCRIPTION = 'Transition row for sequence state 37'
AND [PARENT_UNIQUE_NAME] = '1081327'
Resultados do exemplo:
| NOME_UNICO_DO_NÓ |
|---|
| 1081365 |
O nó representado por este ID contém uma lista das sequências referentes ao produto "Women's Mountain Shorts", juntamente com os valores de suporte e probabilidade.
SELECT FLATTENED
(SELECT ATTRIBUTE_VALUE AS Product2,
[Support] AS [P2 Support],
[Probability] AS [P2 Probability]
FROM NODE_DISTRIBUTION) AS t
FROM [Sequence Clustering].CONTENT
WHERE NODE_UNIQUE_NAME = '1081365'
Resultados do exemplo:
| t.Product2 | Suporte para t.P2 | Probabilidade de t.P2 |
|---|---|---|
| Em falta | 230.7419 | 0.456012 |
| Colete Clássico | 8.16129 | 0.016129 |
| Tampa de ciclismo | 60.83871 | 0.120235 |
| Luvas de Half-Finger | 30.41935 | 0.060117 |
| Camisa Logotipo Long-Sleeve | 86.80645 | 0.171554 |
| Meias de corrida | 28.93548 | 0.057185 |
| Short-Sleeve Jersey Clássico | 60.09677 | 0.118768 |
Observe que o suporte para as várias sequências relacionadas ao Women's Mountain Shorts é 506 no modelo. Os valores de suporte para as transições também somam 506. No entanto, os números não são números inteiros, o que parece um pouco estranho se você espera que o suporte represente simplesmente uma contagem de casos que contêm cada transição. No entanto, como o método para criar clusters calcula a associação parcial, a probabilidade de qualquer transição dentro de um cluster deve ser ponderada pela probabilidade de pertencer a esse cluster específico.
Por exemplo, se houver quatro clusters, uma sequência específica poderá ter 40% chance de pertencer ao cluster 1, 30% chance de pertencer ao cluster 2, 20% chance de pertencer ao cluster 3 e 10% chance de pertencer ao cluster 4. Depois que o algoritmo determina o cluster ao qual a transição é mais provável de pertencer, ele pondera as probabilidades dentro do cluster pela probabilidade anterior do cluster.
Consulta de exemplo 3: usando procedimentos armazenados do sistema
Você pode ver nesses exemplos de consulta que as informações armazenadas no modelo são complexas e que talvez seja necessário criar várias consultas para obter as informações necessárias. No entanto, o Visualizador de Agrupamento de Sequências da Microsoft fornece um conjunto poderoso de ferramentas para navegar graficamente por as informações contidas em um modelo de agrupamento de sequência, e você também pode usar o visualizador para consultar e aprofundar no modelo.
Na maioria dos casos, as informações apresentadas no visualizador de Clustering de Sequência da Microsoft são criadas usando procedimentos armazenados do sistema do Analysis Services para consultar o modelo. Você pode escrever consultas DMX (Extensões de Mineração de Dados) no conteúdo do modelo para recuperar as mesmas informações, mas os procedimentos armazenados do sistema do Analysis Services fornecem um atalho conveniente ao explorar ou testar modelos.
Observação
Os procedimentos armazenados do sistema são usados para processamento interno pelo servidor e pelos clientes que a Microsoft fornece para interagir com o servidor do Analysis Services. Portanto, a Microsoft se reserva o direito de alterá-las a qualquer momento. Embora eles sejam descritos aqui para sua conveniência, não damos suporte ao uso deles em um ambiente de produção. Para garantir a estabilidade e a compatibilidade em um ambiente de produção, você sempre deve escrever suas próprias consultas usando DMX.
Esta seção fornece alguns exemplos de como usar os procedimentos armazenados do sistema para criar consultas sobre um modelo de agrupamento de sequência.
Perfis de cluster e casos de exemplo
A guia Perfis de Cluster mostra uma lista dos clusters no modelo, o tamanho de cada cluster e um histograma que indica os estados incluídos no cluster. Há dois procedimentos armazenados do sistema que você pode usar em consultas para recuperar informações semelhantes:
GetClusterProfileretorna as características do cluster, com todas as informações encontradas na tabela NODE_DISTRIBUTION do cluster.GetNodeGraphretorna nós e bordas que podem ser usados para construir uma representação matemática de grafo dos clusters, correspondente ao que você vê na primeira guia do modo de exibição Clustering de Sequência. Os nós são agrupamentos, e as bordas representam pesos ou força.
O exemplo a seguir ilustra como usar o procedimento armazenado do sistema, GetClusterProfilespara retornar todos os clusters no modelo, com seus respectivos perfis. Esse procedimento armazenado executa uma série de instruções DMX que retornam o conjunto completo de perfis no modelo. No entanto, para usar esse procedimento armazenado, você deve saber o endereço do modelo.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterProfiles('Sequence Clustering', 2147483647, 0)
O exemplo a seguir ilustra como recuperar o perfil de um cluster específico, Cluster 12, usando o procedimento GetNodeGrapharmazenado do sistema e especificando a ID do cluster, que geralmente é o mesmo que o número no nome do cluster.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetNodeGraph('Sequence Clustering','12',0)
Se você omitir a ID do cluster, conforme mostrado na consulta a seguir, GetNodeGraph retornará uma lista ordenada e nivelada de todos os perfis de cluster:
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetNodeGraph('Sequence Clustering','',0)
A guia Perfil de Cluster também exibe um histograma de amostras de casos do modelo. Esses casos de exemplo representam os casos idealizados para o modelo. Esses casos não são armazenados no modelo da mesma forma que os dados de treinamento; você deve usar uma sintaxe especial para recuperar os casos de exemplo para o modelo.
SELECT * FROM [Sequence Clustering].SAMPLE_CASES WHERE IsInNode('12')
Para obter mais informações, consulte SELECT FROM <model>.SAMPLE_CASES (DMX).
Características de Clusters e Discriminação de Clusters
A guia Características do Cluster resume os principais atributos de cada cluster, classificados por probabilidade. Você pode descobrir quantos casos pertencem a um cluster e como é a distribuição de casos no cluster: Cada característica tem determinado suporte. Para ver as características de um cluster específico, você deve conhecer a ID do cluster.
Os exemplos a seguir usam o procedimento armazenado do sistema, GetClusterCharacteristicspara retornar todas as características do Cluster 12 que têm uma pontuação de probabilidade acima do limite especificado de 0,0005.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterCharacteristics('Sequence Clustering','12',0.0005)
Para retornar as características de todos os clusters, você pode deixar a ID do cluster vazia.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterCharacteristics('Sequence Clustering','',0.0005)
O exemplo a seguir chama o procedimento GetClusterDiscrimination armazenado do sistema para comparar as características do Cluster 1 e do Cluster 12.
CALL System.Microsoft.AnalysisServices.System.DataMining.Clustering.GetClusterDiscrimination('Sequence Clustering','1','12',0.0005,true)
Se você quiser escrever sua própria consulta no DMX para comparar dois clusters ou comparar um cluster com seu complemento, primeiro você deverá recuperar um conjunto de características e, em seguida, recuperar as características do cluster específico no qual você está interessado e comparar os dois conjuntos. Esse cenário é mais complicado e normalmente requer algum processamento de cliente.
Estados e transições
A guia Transições de Estado do Microsoft Sequence Clustering executa consultas complicadas no plano de fundo para recuperar e comparar as estatísticas de diferentes clusters. Para reproduzir esses resultados, é necessário uma consulta mais complexa e um processamento de cliente.
No entanto, você pode usar as consultas DMX descritas no Exemplo 2 da seção, Consultas de Conteúdo, para recuperar probabilidades e estados para sequências ou para transições individuais.
Usando o modelo para fazer previsões
Consultas de previsão em um modelo de agrupamento de sequência podem utilizar muitas das funções de previsão aplicadas em outros modelos de clustering. Além disso, você pode usar a função de previsão especial, PredictSequence (DMX), para fazer recomendações ou prever os próximos estados.
Consulta de exemplo 4: prever o próximo estado ou estados
Você pode usar a função PredictSequence (DMX) para prever o próximo estado mais provável, considerando um valor. Você também pode prever vários estados seguintes: por exemplo, você pode retornar uma lista dos três principais produtos que um cliente provavelmente comprará, para apresentar uma lista de recomendações.
A consulta de exemplo a seguir é uma consulta de previsão singleton que retorna as cinco principais previsões, juntamente com sua probabilidade. Como o modelo inclui uma tabela aninhada, você deve usar a tabela aninhada, [v Assoc Seq Line Items]como referência de coluna ao fazer previsões. Além disso, ao fornecer valores como entrada, você deve associar as colunas da tabela de casos e da tabela aninhada, conforme mostrado pelas instruções SELECT aninhadas.
SELECT FLATTENED PredictSequence([v Assoc Seq Line Items], 7)
FROM [Sequence Clustering]
NATURAL PREDICTION JOIN
(SELECT (SELECT 1 as [Line Number],
'All-Purpose Bike Stand' as [Model]) AS [v Assoc Seq Line Items])
AS t
Resultados do exemplo:
| Expression.$Sequence | Número da Linha de Expressão | Expression.Model |
|---|---|---|
| 1 | Tampa de ciclismo | |
| 2 | Tampa de ciclismo | |
| 3 | Sport-100 | |
| 4 | Long-Sleeve logotipo jersey | |
| 5 | Luvas de Half-Finger | |
| 6 | All-Purpose Suporte para Bicicleta | |
| 7 | All-Purpose Suporte de Bicicleta |
Há três colunas nos resultados, embora você possa esperar apenas uma coluna, pois a consulta sempre retorna uma coluna para a tabela de casos. Aqui, os resultados são achatados; caso contrário, a consulta retornaria uma única coluna contendo duas colunas de tabela aninhadas.
A coluna $sequence é uma coluna retornada por padrão pela PredictSequence função para ordenar os resultados da previsão. A coluna [Line Number] é necessária para corresponder às chaves de sequência no modelo, mas as chaves não são geradas.
Curiosamente, as principais sequências previstas após All-Purpose Bike Stand são Cycling Cap e Cycling Cap. Isso não é um erro. Dependendo de como os dados são apresentados ao cliente e como eles são agrupados ao treinar o modelo, é muito possível ter sequências desse tipo. Por exemplo, um cliente pode comprar uma tampa de ciclismo (vermelha) e, em seguida, outra tampa de ciclismo (azul) ou comprar duas seguidas se não houvesse como especificar a quantidade.
Os valores nas linhas 6 e 7 são espaços reservados. Quando você chega ao final da cadeia de transições possíveis, em vez de encerrar os resultados da previsão, o valor passado como uma entrada é adicionado aos resultados. Por exemplo, se você aumentou o número de previsões para 20, os valores das linhas 6-20 seriam todos iguais, All-Purpose Bike Stand.
Lista de funções
Todos os algoritmos da Microsoft dão suporte a um conjunto comum de funções. No entanto, o algoritmo Clustering de Sequência da Microsoft dá suporte às funções adicionais listadas na tabela a seguir.
| Função de previsão | Uso |
| Cluster (DMX) | Retorna o cluster com maior probabilidade de conter o caso de entrada |
| ClusterDistance (DMX) | Retorna a distância do caso de entrada do cluster especificado ou, se nenhum cluster for especificado, a distância do caso de entrada do cluster mais provável. Essa função pode ser usada com qualquer tipo de modelo de clustering (EM, K-Means etc.), mas os resultados diferem dependendo do algoritmo. |
| ClusterProbability (DMX) | Retorna a probabilidade de que o caso de entrada pertença ao cluster especificado. |
| IsInNode (DMX) | Indica se o nó especificado contém o caso atual. |
| PredictAdjustedProbability (DMX) | Retorna a probabilidade ajustada de um estado especificado. |
| PredictAssociation (DMX) | Prevê adesão associativa. |
| PredictCaseLikelihood (DMX) | Retorna a probabilidade de um caso de entrada se encaixar no modelo existente. |
| PredictHistogram (DMX) | Retorna uma tabela que representa um histograma para a previsão de uma determinada coluna. |
| PredictNodeId (DMX) | Retorna o Node_ID do nó ao qual o caso é atribuído. |
| PredictProbability (DMX) | Retorna a probabilidade de um estado especificado. |
| PredictSequence (DMX) | Prevê valores de sequência futuros para um conjunto especificado de dados de sequência. |
| PredictStdev (DMX) | Retorna o desvio padrão previsto para a coluna especificada. |
| PredictSupport (DMX) | Retorna o valor de suporte para um estado especificado. |
| PredictVariance (DMX) | Retorna a variação de uma coluna especificada. |
Para obter uma lista das funções comuns a todos os algoritmos da Microsoft, consulte DMX (Funções de Previsão Geral). Para obter a sintaxe de funções específicas, consulte Referência de função DMX (Extensões de Mineração de Dados).
Consulte Também
Consultas de mineração de dados
Referência técnica do algoritmo de agrupamento sequencial da Microsoft
Algoritmo de Clustering de Sequência da Microsoft
Conteúdo do modelo de mineração para modelos de agrupamento de sequências (Analysis Services – Mineração de dados)