Compartilhar via


Plug-in autocluster

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

Observação

autocluster é amplamente baseado no algoritmo Seed-Expand do seguinte artigo: Algorithms for Telemetry Data Mining using Discrete Attributes.

Sintaxe

T (autocluster evaluate | [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 ~til da cadeia de caracteres . Para obter mais informações, consulte Exemplos.

Nome Digitar Obrigatória Descrição
T string ✔️ A expressão tabular de entrada.
TamanhoPeso double Uma dobradinha entre 0 e 1 que controla o equilíbrio entre valores genéricos (alta cobertura) e informativos (muitos compartilhados). Aumentar esse valor normalmente reduz a quantidade de padrões enquanto expande a cobertura. Por outro lado, a diminuição desse valor gera padrões mais específicos, caracterizados pelo aumento dos valores compartilhados e menor cobertura percentual. O padrão é 0.5. A fórmula é uma média geométrica ponderada com pesos SizeWeight e 1-SizeWeight.
Coluna de Peso 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 inteira numérica. Um uso comum de uma coluna de peso é levar em conta a amostragem ou o bucketing ou a agregação dos dados que já estão incorporados em cada linha.
NumSementes int Determina o número de pontos de pesquisa locais iniciais. O ajuste do número de sementes impacta a quantidade ou a qualidade do resultado com base na estrutura dos dados. Aumentar as sementes pode melhorar os resultados, mas com uma compensação de consulta mais lenta. Diminuir abaixo de cinco produz 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.

Devoluções

O autocluster plugin 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 é o 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 por padrão é nulo) significando valores de variável.

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

Dica

Use onde e projete no pipe de entrada para reduzir os dados ao 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 Count Percentual Estado EventType Danos
0 2278 38.7 Granizo NO
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 Count Percentual Estado EventType Danos
0 2278 38.7 * Granizo NO
1 512 8.7 * Thunderstorm Wind YES
2 898 15.3 TEXAS * *