Plug-in diffpatterns
Compara dois conjuntos de dados da mesma estrutura e localiza padrões de atributos discretos (dimensões) que caracterizam diferenças entre os dois conjuntos de dados. O plug-in é invocado com o evaluate
operador .
diffpatterns
foi desenvolvido para ajudar a analisar falhas (por exemplo, comparando falhas com falhas em um determinado período), mas pode encontrar diferenças entre dois conjuntos de dados da mesma estrutura.
Observação
diffpatterns
tem como objetivo encontrar padrões significativos (que capturam partes da diferença de dados entre os conjuntos) e não se destinam a diferenças linha a linha.
Syntax
T | evaluate diffpatterns(
Splitcolumn,
SplitValueA,
SplitValueB [,
WeightColumn,
Threshold,
MaxDimensions,
CustomWildcard,
...])
Saiba mais sobre as convenções de sintaxe.
Parâmetros
Nome | Tipo | Obrigatório | Descrição |
---|---|---|---|
Splitcolumn | string |
✔️ | O nome da coluna que informa ao algoritmo como dividir a consulta em conjuntos de dados. De acordo com os valores especificados para os argumentos SplitValueA e SplitValueB , o algoritmo divide a consulta em dois conjuntos de dados, "A" e "B", e analisa as diferenças entre eles. Como tal, a coluna de divisão deve ter pelo menos dois valores distintos. |
SplitValueA | string |
✔️ | Uma representação de cadeia de caracteres de um dos valores no SplitColumn que foi especificado. Todas as linhas que têm esse valor em seu SplitColumn são consideradas como conjunto de dados "A". |
SplitValueB | string |
✔️ | Uma representação de cadeia de caracteres de um dos valores no SplitColumn que foi especificado. Todas as linhas que têm esse valor em seu SplitColumn são consideradas como conjunto de dados "B". |
WeightColumn | string |
A coluna usada para considerar cada linha na entrada de acordo com o peso especificado. Deve ser um nome de uma coluna numérica, como int , long , real . Por padrão, cada linha tem o peso igual a "1". Para usar o valor padrão, insira o bloco: ~ . Um uso comum de uma coluna de peso é para amostragem de conta ou agregação/segmentação de dados já incorporados a cada linha.Exemplo: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count) |
|
Limite | long |
Um longo no intervalo de 0,015 a 1. Esse valor define a diferença de taxa de padrão mínima entre os dois conjuntos. O padrão é 0,05. Para usar o valor padrão, insira o bloco: ~ .Exemplo: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04) |
|
MaxDimensions | int |
Define o número máximo de dimensões não relacionadas por padrão de resultado. Ao especificar um limite, você diminui o runtime de consulta. O padrão é ilimitado. Para usar o valor padrão, insira o bloco: ~ .Exemplo: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3) |
|
CustomWildcard | string |
Define o valor do curinga como um tipo específico na tabela de resultados, que indicará que o padrão atual não tem uma restrição para essa coluna. O padrão é nulo, exceto para colunas de cadeia de caracteres para as quais o padrão é uma cadeia de caracteres vazia. Se o padrão for um valor viável nos dados, um valor curinga diferente deverá ser usado. Por exemplo, * . Para usar o valor padrão, insira o bloco: ~ .Exemplo: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1)) |
Retornos
diffpatterns
retorna um pequeno conjunto de padrões que capturam diferentes partes dos dados nos dois conjuntos (ou seja, um padrão capturando uma grande porcentagem das linhas no primeiro conjunto de dados e baixa porcentagem das linhas no segundo conjunto). Cada padrão é representado por uma linha nos resultados.
O resultado de diffpatterns
retorna as seguintes colunas:
SegmentId: a identidade atribuída ao padrão na consulta atual (observação: não há garantia de que as IDs sejam as mesmas em consultas repetidas).
CountA: o número de linhas capturadas pelo padrão em Set A (Set A é o equivalente a
where tostring(splitColumn) == SplitValueA
).CountB: o número de linhas capturadas pelo padrão no Conjunto B (o conjunto B é o equivalente a
where tostring(splitColumn) == SplitValueB
).PercentA: o percentual de linhas no Conjunto A capturado pelo padrão (100,0 * CountA / count(SetA)).
PercentB: o percentual de linhas no Conjunto B capturado pelo padrão (100,0 * CountB/ count(SetB)).
PercentDiffAB: a diferença absoluta de ponto percentual entre A e B (|PercentA - PercentB|) é a medida main de significância dos padrões na descrição da diferença entre os dois conjuntos.
Rest of the columns: are the original schema of the input and describe the pattern, each row (pattern) represents the intersection of the non-wildcard values of the columns (equivalente de
where col1==val1 and col2==val2 and ... colN=valN
for each non-wildcard value in the row).
Para cada padrão, as colunas que não são definidas no padrão (ou seja, sem restrição em um valor específico) conterão um valor curinga, que é nulo por padrão. Veja na seção Argumentos abaixo como curingas podem ser alterados manualmente.
- Observação: os padrões geralmente não são distintos. Eles podem estar sobrepostos e, geralmente, não abrangem todas as linhas originais. Nem todas as linhas podem ficar em qualquer padrão.
Dica
Exemplo
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )
Saída
SegmentId | CountA | CountB | PercentA | PercentB | PercentDiffAB | Estado | EventType | Source | DamageCrops |
---|---|---|---|---|---|---|---|---|---|
0 | 2278 | 93 | 49.8 | 7.1 | 42.7 | Granizo | 0 | ||
1 | 779 | 512 | 17.03 | 39.08 | 22.05 | Thunderstorm Wind | |||
2 | 1098 | 118 | 24.01 | 9.01 | 15 | Spotter Treinado | 0 | ||
3 | 136 | 158 | 2,97 | 12.06 | 9.09 | Jornal | |||
4 | 359 | 214 | 7.85 | 16.34 | 8.49 | Saturação de Flash | |||
5 | 50 | 122 | 1.09 | 9.31 | 8.22 | IOWA | |||
6 | 655 | 279 | 14.32 | 21.3 | 6.98 | Aplicação da lei | |||
7 | 150 | 117 | 3.28 | 8.93 | 5.65 | Saturação | |||
8 | 362 | 176 | 7.91 | 13.44 | 5.52 | Gerenciador de emergência |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de