Share via


Plug-in autocluster

autocluster localiza padrões comuns de atributos discretos (dimensões) nos dados. Em seguida, ele reduz os resultados da consulta original, seja 100 ou 100.000 linhas, para alguns padrões. O plug-in foi desenvolvido para ajudar a analisar falhas (como exceções ou falhas), mas pode funcionar potencialmente em qualquer conjunto de dados filtrado. O plug-in é invocado com o evaluate operador .

Observação

autocluster é em grande parte baseado no algoritmo Seed-Expand do seguinte artigo: Algoritmos para mineração de dados de telemetria usando atributos discretos.

Syntax

T|evaluateautocluster([SizeWeight [,WeightColumn [,NumSeeds [,CustomWildcard [, ... ]]]]])

Saiba mais sobre as convenções de sintaxe.

Parâmetros

Os parâmetros devem ser ordenados conforme especificado na sintaxe. Para indicar que o valor padrão deve ser usado, coloque o valor ~do bloco de cadeia de caracteres . Para obter mais informações, consulte Exemplos.

Nome Tipo Obrigatório Descrição
T string ✔️ A expressão tabular de entrada.
SizeWeight double Um duplo entre 0 e 1 que controla o equilíbrio entre valores genéricos (alta cobertura) e informativos (muitos compartilhados). O aumento desse valor normalmente reduz a quantidade de padrões ao expandir a cobertura. Por outro lado, diminuir esse valor gera padrões mais específicos caracterizados pelo aumento dos valores compartilhados e uma cobertura percentual menor. O padrão é 0.5. A fórmula é uma média geométrica ponderada com pesos SizeWeight e 1-SizeWeight.
WeightColumn string Considera cada linha na entrada de acordo com o peso especificado. Cada linha tem um peso padrão de 1. O argumento deve ser um nome de uma coluna de inteiro numérico. Um uso comum de uma coluna de peso é levar em conta a amostragem ou bucketing ou a agregação dos dados que já estão inseridos em cada linha.
NumSeeds int Determina o número de pontos de pesquisa locais iniciais. Ajustar o número de sementes afeta a quantidade ou a qualidade dos resultados com base na estrutura de dados. O aumento das sementes pode melhorar os resultados, mas com uma compensação de consulta mais lenta. Diminuir abaixo de cinco gera melhorias insignificantes, enquanto aumentar acima de 50 raramente gera mais padrões. O padrão é 25.
CustomWildcard string Um literal de tipo que define o valor curinga para um tipo específico na tabela de resultados, indicando nenhuma restrição nesta coluna. O padrão é null, que representa uma cadeia de caracteres vazia. Se o padrão for um bom valor nos dados, um valor curinga diferente deverá ser usado, como *. Você pode incluir vários curingas personalizados adicionando-os consecutivamente.

Retornos

O autocluster plug-in geralmente retorna um pequeno conjunto de padrões. Os padrões capturam partes dos dados com valores comuns compartilhados em vários atributos discretos. Cada padrão nos resultados é representado por uma linha.

A primeira coluna é a ID do segmento. As duas colunas seguintes são a contagem e o percentual de linhas da consulta original capturadas pelo padrão. As colunas restantes são da consulta original. Seu valor é um valor específico da coluna ou um valor curinga (que são nulos por padrão) que significa valores variáveis.

Os padrões não são distintos, podem estar sobrepostos e geralmente não abrangem todas as linhas originais. Nem todas as linhas podem ficar em qualquer padrão.

Dica

Use onde e projeto no pipe de entrada para reduzir os dados exatamente no que você está interessado.

Quando você encontrar uma linha interessante, talvez queira se aprofundar ainda mais adicionando seus valores específicos ao filtro where .

Exemplos

Usando avaliar

T | evaluate autocluster()

Usando o autocluster

StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State , EventType , Damage
| evaluate autocluster(0.6)

Saída

SegmentId Contagem Porcentagem Estado EventType Danos
0 2278 38.7 Granizo Não
1 512 8.7 Thunderstorm Wind YES
2 898 15.3 TEXAS

Usando curingas personalizados

StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , "YES" , "NO")
| project State , EventType , Damage
| evaluate autocluster(0.2, '~', '~', '*')

Saída

SegmentId Contagem Porcentagem Estado EventType Danos
0 2278 38.7 * Granizo Não
1 512 8.7 * Thunderstorm Wind YES
2 898 15.3 TEXAS * *