diffpatterns eklentisi

Aynı yapıya sahip iki veri kümesini karşılaştırır ve iki veri kümesi arasındaki farkları karakterize eden ayrık öznitelik (boyutlar) desenlerini bulur. Eklenti işleciyle birlikte çağrılır evaluate .

diffpatterns hataları analiz etmeye yardımcı olmak için geliştirilmiştir (örneğin, belirli bir zaman dilimindeki hataları olmayan hatalarla karşılaştırarak), ancak aynı yapıdaki iki veri kümesi arasındaki farkları bulma olasılığı vardır.

Not

diffpatterns , önemli desenler (kümeler arasındaki veri farkının bölümlerini yakalayan) bulmayı amaçlar ve satır satır farklılıklar için tasarlanmamıştır.

Syntax

T | evaluate diffpatterns(SplitColumn,SplitValueA,SplitValueB [,WeightColumn,Threshold,MaxDimensions,CustomWildcard, ...])

Söz dizimi kuralları hakkında daha fazla bilgi edinin.

Parametreler

Ad Tür Gerekli Açıklama
SplitColumn string ✔️ Algoritmaya sorgunun veri kümelerine nasıl bölündüğünü bildiren sütun adı. SplitValueA ve SplitValueB bağımsız değişkenleri için belirtilen değerlere göre algoritma sorguyu "A" ve "B" olmak üzere iki veri kümesine böler ve aralarındaki farkları analiz eder. Bu nedenle, bölünmüş sütunun en az iki ayrı değeri olmalıdır.
SplitValueA string ✔️ SplitColumn'da belirtilen değerlerden birinin dize gösterimi. SplitColumn'larında bu değere sahip olan tüm satırlar "A" veri kümesi olarak kabul edilir.
SplitValueB string ✔️ SplitColumn'da belirtilen değerlerden birinin dize gösterimi. SplitColumn'larında bu değere sahip olan tüm satırlar "B" veri kümesi olarak kabul edilir.
WeightColumn string Girişteki her satırı belirtilen ağırlığa göre dikkate almak için kullanılan sütun. , long, realgibi intsayısal bir sütunun adı olmalıdır. Varsayılan olarak her satırın ağırlığı '1' şeklindedir. Varsayılan değeri kullanmak için tilde değerini girin: ~. Ağırlık sütununun yaygın kullanımlarından biri, her satıra zaten eklenmiş olan verilerin örneklemesini veya demetlerini/toplamasını dikkate almaktır.

Örnek: T | extend splitColumn= iff(request_responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", sample_Count)
Eşik long 0,015 ile 1 arasında bir uzun. Bu değer, iki küme arasındaki en düşük desen oranı farkını ayarlar. Varsayılan değer 0,05'tir. Varsayılan değeri kullanmak için tilde değerini girin: ~.

Örnek: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", 0.04)
MaxDimensions int Sonuç deseni başına en fazla bağıntısız boyut sayısını ayarlar. Bir sınır belirterek sorgu çalışma zamanını azaltırsınız. Varsayılan değer sınırsızdır. Varsayılan değeri kullanmak için tilde değerini girin: ~.

Örnek: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", 3)
CustomWildcard string Sonuç tablosundaki belirli bir türün joker karakter değerini, geçerli desenin bu sütunda bir kısıtlaması olmadığını gösterecek şekilde ayarlar. Varsayılan değer boş dize olan dize sütunları dışında varsayılan değer null'dır. Varsayılan değer verilerde uygulanabilir bir değerse farklı bir joker karakter değeri kullanılmalıdır. Örneğin, *. Varsayılan değeri kullanmak için tilde değerini girin: ~.

Örnek: T | extend splitColumn = iff(request-responseCode == 200, "Success" , "Failure") | evaluate diffpatterns(splitColumn, "Success","Failure", "~", "~", "~", int(-1), double(-1), long(0), datetime(1900-1-1))

Döndürülenler

diffpatterns iki kümedeki verilerin farklı bölümlerini yakalayan küçük bir desen kümesi döndürür (yani, ilk veri kümesindeki satırların büyük bir yüzdesini ve ikinci kümedeki satırların düşük yüzdesini yakalayan bir desen). Her desen, sonuçlardaki bir satırla temsil edilir.

sonucu diffpatterns aşağıdaki sütunları döndürür:

  • SegmentId: Geçerli sorgudaki desene atanan kimlik (not: Yinelenen sorgularda kimliklerin aynı olacağı garanti edilmemektedir).

  • CountA: Küme A'da desen tarafından yakalanan satır sayısı (A Kümesi eşdeğeridir where tostring(splitColumn) == SplitValueA).

  • SayıB: Küme B'de desen tarafından yakalanan satır sayısı (B Kümesi eşdeğeridir where tostring(splitColumn) == SplitValueB).

  • PercentA: Küme A'daki satırların desen tarafından yakalanan yüzdesi (100,0 * CountA / count(SetA)).

  • YüzdeB: Küme B'de desen tarafından yakalanan satırların yüzdesi (100,0 * SayıB / count(SetB)).

  • PercentDiffAB: A ile B arasındaki mutlak yüzde noktası farkı (|YüzdeA - YüzdeB|) , iki küme arasındaki farkı açıklamadaki desenlerin önemine ilişkin temel ölçüdür.

  • Sütunların geri kalanı: girişin özgün şemasıdır ve deseni açıklar; her satır (desen), sütunların joker karakter olmayan değerlerinin kesişimini temsil eder ( where col1==val1 and col2==val2 and ... colN=valN satırdaki joker karakter olmayan her değer için eşdeğerdir).

Her desen için, desende ayarlanmayan sütunlar (belirli bir değer üzerinde kısıtlama olmadan) varsayılan olarak null olan bir joker karakter değeri içerir. Joker karakterlerin el ile nasıl değiştirilebileceğinin altındaki Bağımsız Değişkenler bölümüne bakın.

  • Not: Desenler genellikle ayrı değildir. Bunlar çakışıyor olabilir ve genellikle özgün satırların tümünü kapsamaz. Bazı satırlar herhangi bir desenin altına düşmeyebilir.

İpucu

  • Verileri yalnızca ilgilendiğiniz yere küçültmek için giriş kanalında where ve project kullanın.
  • İlginç bir satır bulduğunuzda, filtrenize belirli değerlerini ekleyerek daha fazla detaya gitmek isteyebilirsiniz where .

Örnek

StormEvents 
| where monthofyear(StartTime) == 5
| extend Damage = iff(DamageCrops + DamageProperty > 0 , 1 , 0)
| project State , EventType , Source , Damage, DamageCrops
| evaluate diffpatterns(Damage, "0", "1" )

Çıkış

SegmentId CountA SayıB YüzdeA YüzdeB PercentDiffAB Durum Olay türü Source DamageCrops
0 2278 93 49.8 7.1 42.7 Dolu 0
1 779 512 17.03 39.08 22.05 Fırtına Rüzgarı
2 1098 118 24.01 9.01 15 Eğitilmiş Gözcü 0
3 136 158 2.97 12.06 9.09 Gazete
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 Kolluk
7 150 117 3.28 8.93 5.65 Sel
8 362 176 7.91 13.44 5.52 Acil Durum Yöneticisi