diffpatterns-plugin-program
Jämför två datauppsättningar med samma struktur och hittar mönster med diskreta attribut (dimensioner) som kännetecknar skillnader mellan de två datauppsättningarna. Plugin-programmet anropas med operatorn evaluate
.
diffpatterns
har utvecklats för att analysera fel (till exempel genom att jämföra fel med icke-fel inom en viss tidsram), men kan potentiellt hitta skillnader mellan två datauppsättningar i samma struktur.
Anteckning
diffpatterns
syftar till att hitta betydande mönster (som samlar in delar av dataskillnaden mellan uppsättningarna) och inte är avsedda för skillnader rad för rad.
Syntax
T | evaluate diffpatterns(
SplitColumn,
SplitValueA,
SplitValueB [,
WeightColumn,
Threshold,
MaxDimensions,
CustomWildcard,
...])
Läs mer om syntaxkonventioner.
Parametrar
Namn | Typ | Obligatorisk | Beskrivning |
---|---|---|---|
SplitColumn | string |
✔️ | Kolumnnamnet som talar om för algoritmen hur frågan ska delas upp i datauppsättningar. Enligt de angivna värdena för argumenten SplitValueA och SplitValueB delar algoritmen upp frågan i två datauppsättningar, "A" och "B", och analyserar skillnaderna mellan dem. Därför måste den delade kolumnen ha minst två distinkta värden. |
SplitValueA | string |
✔️ | En strängrepresentation av ett av värdena i SplitColumn som angavs. Alla rader som har det här värdet i SplitColumn anses vara datauppsättningen "A". |
SplitValueB | string |
✔️ | En strängrepresentation av ett av värdena i SplitColumn som angavs. Alla rader som har det här värdet i SplitColumn anses vara datauppsättningen "B". |
WeightColumn | string |
Kolumnen som används för att beakta varje rad i indata enligt den angivna vikten. Måste vara ett namn på en numerisk kolumn, till exempel int , long , real . Som standard har varje rad vikten "1". Om du vill använda standardvärdet anger du tilde: ~ . En vanlig användning av en viktkolumn är att ta hänsyn till sampling eller bucketing/aggregering av data som redan är inbäddade i varje rad.Exempel: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count) |
|
Tröskelvärde | long |
En lång i intervallet 0,015 till 1. Det här värdet anger den minimala mönsterförhållandeskillnaden mellan de två uppsättningarna. Standardvärdet är 0,05. Om du vill använda standardvärdet anger du tilde: ~ .Exempel: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04) |
|
MaxDimensions | int |
Anger det maximala antalet okorrelerade dimensioner per resultatmönster. Genom att ange en gräns minskar du frågekörningen. Standardvärdet är obegränsat. Om du vill använda standardvärdet anger du tilde: ~ .Exempel: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3) |
|
CustomWildcard | string |
Anger jokerteckenvärdet för en viss typ i resultattabellen som anger att det aktuella mönstret inte har någon begränsning för den här kolumnen. Standardvärdet är null, förutom strängkolumner där standardvärdet är en tom sträng. Om standardvärdet är ett livskraftigt värde i data bör ett annat jokerteckenvärde användas. Till exempel * . Om du vill använda standardvärdet anger du tilde: ~ .Exempel: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1)) |
Returer
diffpatterns
returnerar en liten uppsättning mönster som samlar in olika delar av data i de två uppsättningarna (det vill: ett mönster som samlar in en stor procentandel av raderna i den första datauppsättningen och låg procentandel av raderna i den andra uppsättningen). Varje mönster representeras av en rad i resultatet.
Resultatet av diffpatterns
returnerar följande kolumner:
SegmentId: identiteten som tilldelats mönstret i den aktuella frågan (obs! ID:er är inte garanterade att vara desamma i upprepade frågor).
CountA: antalet rader som avbildas av mönstret i Ange A (ange A motsvarar
where tostring(splitColumn) == SplitValueA
).CountB: antalet rader som avbildas av mönstret i Set B (Set B är motsvarande
where tostring(splitColumn) == SplitValueB
).PercentA: procentandelen rader i Ange A som avbildats av mönstret (100,0 * CountA/count(SetA)).
PercentB: procentandelen rader i Set B som avbildats av mönstret (100,0 * CountB/count(SetB)).
PercentDiffAB: den absoluta procentuella skillnaden mellan A och B (|PercentA – PercentB|) är det viktigaste måttet på betydelsen av mönster när det gäller att beskriva skillnaden mellan de två uppsättningarna.
Resten av kolumnerna: är det ursprungliga schemat för indata och beskriver mönstret, varje rad (mönster) representerar skärningspunkten mellan kolumnernas värden som inte är jokertecken (motsvarande
where col1==val1 and col2==val2 and ... colN=valN
för varje värde som inte är jokertecken på raden).
För varje mönster innehåller kolumner som inte anges i mönstret (dvs. utan begränsning för ett visst värde) ett jokerteckenvärde, vilket är null som standard. Se i avsnittet Argument nedan hur jokertecken kan ändras manuellt.
- Obs! Mönstren är ofta inte distinkta. De kan vara överlappande och täcker vanligtvis inte alla ursprungliga rader. Vissa rader kanske inte omfattas av något mönster.
Tips
Exempel
StormEvents
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )
Resultat
SegmentId | CountA | AntalB | PercentA | PercentB | PercentDiffAB | Tillstånd | Eventtype | Källa | DamageCrops |
---|---|---|---|---|---|---|---|---|---|
0 | 2278 | 93 | 49.8 | 7.1 | 42.7 | Hagel | 0 | ||
1 | 779 | 512 | 17.03 | 39.08 | 22.05 | Åska vind | |||
2 | 1098 | 118 | 24.01 | 9.01 | 15 | Tränad spotter | 0 | ||
3 | 136 | 158 | 2,97 | 12.06 | 9.09 | Tidningen | |||
4 | 359 | 214 | 7.85 | 16.34 | 8.49 | Flash Flood | |||
5 | 50 | 122 | 1.09 | 9.31 | 8.22 | IOWA | |||
6 | 655 | 279 | 14.32 | 21,3 | 6.98 | Brottsbekämpande | |||
7 | 150 | 117 | 3.28 | 8.93 | 5.65 | Översvämning | |||
8 | 362 | 176 | 7.91 | 13.44 | 5.52 | Emergency Manager |
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för