Dokumentacja algorytmu asocjacji firmy Microsoft

Dotyczy: SQL Server 2019 i starsze usługi Analysis Services Azure Analysis Services Fabric/Power BI Premium

Ważne

Funkcja wyszukiwania danych została uznana za przestarzałą w usługach SQL Server 2017 Analysis Services i została zakończona w usługach SQL Server 2022 Analysis Services. Dokumentacja nie jest aktualizowana dla przestarzałych i wycofanych funkcji. Aby dowiedzieć się więcej, zobacz zgodność z poprzednimi wersjami usług Analysis Services.

Algorytm reguł skojarzenia firmy Microsoft to prosta implementacja dobrze znanego algorytmu Apriori.

Zarówno algorytm Microsoft drzew decyzyjnych, jak i algorytm reguł skojarzenia Microsoft mogą analizować skojarzenia, ale reguły znalezione przez każdy algorytm mogą się różnić. W modelu drzew decyzyjnych zysk informacji określa podziały, które prowadzą do określonych reguł. W modelu asocjacyjnym ufność całkowicie determinuje reguły. Dlatego w modelu asocjacyjnym silna reguła, czyli reguła o wysokim poziomie ufności, niekoniecznie musi być interesująca, ponieważ nie dostarcza nowych informacji.

Implementacja algorytmu skojarzenia firmy Microsoft

Algorytm Apriori nie analizuje wzorców. Zamiast tego generuje, a następnie zlicza zestawy elementów kandydatów. Element może reprezentować zdarzenie, produkt lub wartość atrybutu w zależności od typu analizowanych danych.

W najczęstszym typie modelu skojarzenia przypisuje się zmienne logiczne, które reprezentują wartość Tak/Nie lub Brak/Istniejąca, do każdego atrybutu, takiego jak nazwa produktu lub zdarzenia. Analiza koszyka rynkowego to przykład modelu reguł skojarzenia, który używa zmiennych logicznych do reprezentowania obecności lub braku określonych produktów w koszyku zakupów klienta.

Dla każdego zbioru elementów algorytm oblicza miary wsparcia i ufności. Tych wyników można użyć do klasyfikacji i uzyskania interesujących reguł z zestawów elementów.

Można również tworzyć modele skojarzeń dla atrybutów liczbowych. Jeśli atrybuty są ciągłe, możesz je zdyskretyzować lub pogrupować liczby w przedziałach. Wartości dyskretyzowane można obsługiwać jako wartości logiczne albo jako pary atrybut–wartość.

Wsparcie, prawdopodobieństwo i istotność

Obsługa, czasami nazywana częstotliwością, jest liczbą przypadków zawierających element docelowy lub kombinację elementów. Model może zawierać tylko elementy, które mają co najmniej określony poziom wsparcia.

Częsty zbiór elementów to zbiór elementów, dla którego kombinacja tych elementów ma również wsparcie powyżej progu zdefiniowanego przez parametr MINIMUM_SUPPORT. Jeśli na przykład zestaw elementów to {A,B,C}, a wartość MINIMUM_SUPPORT wynosi 10, każdy element A, B i C musi znajdować się w co najmniej 10 przypadkach, które mają być uwzględnione w modelu, a kombinacja elementów {A,B,C} musi być również znaleziona w co najmniej 10 przypadkach.

Uwaga / Notatka

Można również kontrolować liczbę zbiorów elementów w modelu eksploracji, określając maksymalną długość zbioru elementów, przy czym długość oznacza liczbę elementów.

Domyślnie obsługa dowolnego określonego elementu lub zestawu elementów jest liczbą przypadków zawierających ten element lub elementy. Można jednak również wyrazić MINIMUM_SUPPORT jako procent całkowitej liczby przypadków w zestawie danych, wpisując liczbę jako wartość dziesiętną mniejszą niż 1. Jeśli na przykład określisz MINIMUM_SUPPORT wartość 0,03, oznacza to, że co najmniej 3% całkowitej liczby przypadków w zestawie danych musi zawierać ten element lub zestaw elementów do dołączenia do modelu. Poeksperymentuj z modelem, aby określić, czy użycie liczby lub wartości procentowej ma większe znaczenie.

Natomiast próg reguł jest wyrażony nie jako liczba lub wartość procentowa, ale jako prawdopodobieństwo, czasami określane jako pewność siebie. Jeśli na przykład zestaw elementów {A,B,C} występuje w 50 przypadkach, ale zestaw elementów {A,B,D} również występuje w 50 przypadkach, a zestaw elementów {A,B} w kolejnych 50 przypadkach jest oczywiste, że {A,B} nie jest silnym predyktorem {C}. W związku z tym, aby odważyć określony wynik względem wszystkich znanych wyników, SQL Server Analysis Services oblicza prawdopodobieństwo pojedynczej reguły (na przykład Jeśli {A,B} Następnie {C}), dzieląc obsługę zestawu elementów {A,B,C} przez obsługę wszystkich powiązanych zestawów elementów.

Można ograniczyć liczbę reguł generowanych przez model, ustawiając wartość dla MINIMUM_PROBABILITY.

Dla każdej tworzonej reguły SQL Server Analysis Services generuje wynik wskazujący jego znaczenie, które jest również określane jako lift. Podnoszenie ważności jest obliczane inaczej dla zestawów elementów i reguł.

Znaczenie zestawu elementów jest obliczane jako prawdopodobieństwo zestawu elementów podzielone przez prawdopodobieństwo złożone poszczególnych elementów w zestawie. Jeśli na przykład zestaw elementów zawiera {A,B}, SQL Server Analysis Services najpierw zlicza wszystkie przypadki, które zawierają tę kombinację A i B, i dzieli tę liczbę przez łączną liczbę przypadków, a następnie normalizuje prawdopodobieństwo.

Ważność reguły jest obliczana przez logarytmiczną wartość prawdopodobieństwa prawej strony reguły, przy danej lewej stronie reguły. Na przykład w regule If {A} Then {B} usługi SQL Server Analysis Services oblicza stosunek liczby przypadków zawierających zarówno A, jak i B, do liczby przypadków zawierających B, ale nie A, a następnie normalizuje ten stosunek, używając skali logarytmicznej.

Wybieranie funkcji

Algorytm reguł skojarzenia Microsoft nie wykonuje żadnego rodzaju automatycznego wyboru funkcji. Zamiast tego algorytm udostępnia parametry kontrolujące dane używane przez algorytm. Ta kontrolka może obejmować limity rozmiaru każdego zestawu elementów lub ustawienie maksymalnej i minimalnej obsługi wymaganej do dodania zestawu elementów do modelu.

  • Aby odfiltrować elementy i zdarzenia, które są zbyt powszechne i w związku z tym nieinteresujące, zmniejsz wartość MAXIMUM_SUPPORT, aby usunąć bardzo częste zestawy elementów z modelu.

  • Aby odfiltrować elementy i zestawy elementów, które są rzadkie, zwiększ wartość MINIMUM_SUPPORT.

  • Aby odfiltrować reguły, zwiększ wartość MINIMUM_PROBABILITY.

Dostosowywanie algorytmu reguł skojarzeń firmy Microsoft

Algorytm reguł skojarzeń firmy Microsoft obsługuje kilka parametrów, które wpływają na zachowanie, wydajność i dokładność wynikowego modelu wyszukiwania.

Ustawianie parametrów algorytmu

Parametry modelu wyszukiwania można zmienić w dowolnym momencie przy użyciu projektanta wyszukiwania danych w narzędziach SQL Server Data Tools. Parametry można również zmieniać programowo, używając kolekcji AlgorithmParameters w AMO lub elementu MiningModels (ASSL) w języku XMLA. W poniższej tabeli opisano każdy parametr.

Uwaga / Notatka

Nie można zmienić parametrów w istniejącym modelu przy użyciu instrukcji DMX. Należy określić parametry w modelu DMX CREATE MODEL lub ALTER STRUCTURE... DODAJ MODEL podczas tworzenia modelu.

MAXIMUM_ITEMSET_COUNT
Określa maksymalną liczbę zestawów elementów do utworzenia. Jeśli nie określisz liczby, zostanie użyta wartość domyślna.

Wartość domyślna to 200000.

Uwaga / Notatka

Zestawy elementów są rangowane według wsparcia. Wśród zbiorów elementów, które mają takie samo wsparcie, kolejność jest dowolna.

MAXIMUM_ITEMSET_SIZE
Określa maksymalną liczbę elementów dozwolonych w zestawie elementów. Ustawienie tej wartości na 0 określa, że nie ma żadnego limitu rozmiaru zestawu elementów.

Wartość domyślna to 3.

Uwaga / Notatka

Zmniejszenie tej wartości może potencjalnie skrócić czas wymagany do utworzenia modelu, ponieważ przetwarzanie modelu zatrzymuje się po osiągnięciu limitu.

MAXIMUM_SUPPORT
Określa maksymalną liczbę przypadków, które zestaw elementów ma do obsługi. Użyj tego parametru, aby wyeliminować elementy, które pojawiają się często i dlatego potencjalnie mają niewielkie znaczenie.

Jeśli ustawisz tę wartość na mniejszą niż 1, wartość reprezentuje wartość procentową całkowitej liczby przypadków. Wartości większe niż 1 reprezentują bezwzględną liczbę przypadków, które mogą zawierać zestaw elementów.

Wartość domyślna to 1.

MINIMUM_ITEMSET_SIZE
Określa minimalną liczbę elementów dozwolonych w zestawie elementów. Jeśli zwiększysz tę liczbę, model może zawierać mniej zestawów elementów. Ta zmiana może być przydatna, jeśli na przykład chcesz zignorować zestawy elementów z jednym elementem.

Wartość domyślna to 1.

Uwaga / Notatka

Nie można zmniejszyć czasu przetwarzania modelu przez zwiększenie wartości minimalnej, ponieważ SQL Server Analysis Services musi obliczyć prawdopodobieństwa dla pojedynczych elementów w ramach przetwarzania. Jednak przez ustawienie tej wartości wyższej można odfiltrować mniejsze zestawy elementów.

MINIMUM_PROBABILITY
Określa minimalne prawdopodobieństwo, że reguła ma wartość true.

Na przykład jeśli ustawisz tę wartość na 0,5, oznacza to, że nie można wygenerować reguły o wartości mniejszej niż pięćdziesiąt procent prawdopodobieństwa.

Wartość domyślna to 0,4.

MINIMUM_SUPPORT
Określa minimalną liczbę przypadków, które muszą zawierać zestaw elementów przed wygenerowaniem reguły przez algorytm.

Jeśli ustawisz tę wartość na mniejszą niż 1, minimalna liczba przypadków jest obliczana jako procent całkowitej liczby przypadków.

Jeśli ustawisz tę wartość na liczbę całkowitą większą niż 1, zostanie określona minimalna liczba przypadków, która jest obliczana jako ilość przypadków, które muszą zawierać zestaw elementów. Algorytm może automatycznie zwiększyć wartość tego parametru, jeśli pamięć jest ograniczona.

Wartość domyślna to 0,03. Ta wartość oznacza, że aby można je było uwzględnić w modelu, zestaw elementów musi znajdować się w co najmniej 3% przypadków.

OPTIMIZED_PREDICTION_COUNT
Definiuje liczbę elementów do buforowania na potrzeby optymalizacji przewidywania.

Wartość domyślna to 0. Gdy jest używana wartość domyślna, algorytm generuje tyle przewidywań, ile żądano w zapytaniu.

Jeśli określisz wartość niezerową dla OPTIMIZED_PREDICTION_COUNT, zapytania przewidywania mogą zwracać co najwyżej określoną liczbę elementów, nawet jeśli zażądasz dodatkowych przewidywań. Jednak ustawienie wartości może poprawić wydajność przewidywania.

Jeśli na przykład ustawisz wartość 3, algorytm buforuje tylko trzy elementy na potrzeby przewidywania. Nie widzisz innych przewidywań, które mogą być równie prawdopodobne, jak trzy elementy zwracane przez algorytm.

Flagi modelarskie

Algorytm Microsoft Association Rules obsługuje następujące flagi modelowania.

NIE NULL
Wskazuje, że kolumna nie może zawierać wartości null. Jeśli SQL Server Analysis Services napotka wartość null podczas trenowania modelu, zwraca błąd.

Dotyczy kolumny struktury danych górniczych.

MODEL_EXISTENCE_ONLY
Traktuje kolumnę jako mającą dwa możliwe stany: Brak i Istniejący. "Null to brakująca wartość."

Dotyczy kolumny modelu eksploracji.

Requirements

Model skojarzenia musi zawierać kolumnę klucza, kolumny wejściowe i pojedynczą przewidywalną kolumnę.

Kolumny wejściowe i przewidywalne

Algorytm reguł skojarzeń firmy Microsoft obsługuje określone kolumny wejściowe i przewidywalne kolumny wymienione w poniższej tabeli. Aby uzyskać więcej informacji na temat znaczenia typów zawartości w modelu wyszukiwania, zobacz Typy zawartości (wyszukiwanie danych).

Kolumna Typy zawartości
Atrybut wejściowy Cykliczny, Dyskretny, Dyskretyzowany, Klucz, Tabela, Uporządkowany
Przewidywalny atrybut Cykliczny, dyskretny, zdyskretyzowany, tabela, uporządkowany

Uwaga / Notatka

Algorytm obsługuje typy zawartości cyklicznej i uporządkowanej, ale traktuje je jako wartości dyskretne i nie wykonuje specjalnego przetwarzania.

Zobacz także

Algorytm kojarzeń Microsoft
Przykłady zapytań modelu skojarzeń
Zawartość modelu eksploracji danych dla modeli asocjacyjnych (Analysis Services — eksploracja danych)