Informacje techniczne algorytm klastrowanie Microsoft
W tej sekcji omówiono wykonania Microsoft Klastrowanie algorytmu, włączając w to parametry, które służy do sterowania zachowaniem usługi klastrowania modeli. Zawiera także wskazówki dotyczące poprawy wydajności podczas tworzenia i procesu klastrowanie modeli.
Aby uzyskać dodatkowe informacje na temat używania klastrowanie modeli, zobacz następujące tematy:
Implementacja firmy Microsoft klastrowanie algorytmu
The Microsoft klastrowanie algorithm provides two methods for creating clusters and assigning data points to the clusters. W pierwszym, Oznacza K algorytmu, jest twardego klastrowanie metoda.Oznacza to, że punkt danych może należeć do klastra tylko jeden i że pojedyncze prawdopodobieństwa jest obliczana dla członkostwa każdy punkt danych w klastrze.Druga metoda Maximization oczekiwanie Jest metoda (EM)Miękki klastrowanie metody.Oznacza to, że punkt danych zawsze należy do wielu klastrów i że w przypadku prawdopodobieństwa jest obliczana dla każdej kombinacji punkt danych i klastra.
Można wybrać algorytm, który ma być używany przez ustawienie CLUSTERING_METHOD parametr. Domyślną metoda klastrowanie jest EM skalowalne.
EM klastrowanie
W EM klastrowanie, algorytm iteratively uszczegóławia modelu klastra początkowego dopasowanie dane i określa prawdopodobieństwo, że punkt danych istnieje w klastrze.Algorytm kończy proces, gdy probabilistic model dopasowanie do danych.Funkcja używana do określenia dopasowanie jest prawdopodobieństwo dziennika danych podanych w modelu.
Jeśli puste klastrów są generowane podczas procesu lub członkostwa w jednej lub wielu klastrów spadnie poniżej określonej wartości progowej, klastry z niskim populacji są reseeded na nowe punkty i algorytm EM jest ponownie.
Wyniki EM klastrowanie probabilistic są metoda.Oznacza to, że każdy punkt danych należy do wszystkich klastrów, ale każde przypisanie punktu danych do klastra ma różne prawdopodobieństwa.Ponieważ metoda pozwala w przypadku klastrów na siebie zachodzić, suma elementów na wszystkich klastrach może przekroczyć całkowita elementów zestaw szkolenia.W wynikach model wyszukiwania wyniki, wskazujące, że obsługa zostaną dopasowane w taki sposób, aby konto dla tego.
Algorytm EM jest domyślny algorytm używany w programie Microsoft klastrowanie modeli.Ten algorytm jest używany jako domyślny, ponieważ oferuje on wiele zalet w porównaniu z k oznacza klastrowanie:
Wymaga co najwyżej jednego skanowania bazy danych.
Będzie działać pomimo ograniczona pamięć (RAM).
Może używać kursor progresywny.
Outperforms podejścia próbkowanie.
Implementacja firmy Microsoft są dostępne dwie opcje: EM skalowalne i nie są skalowalne. Domyślnie w EM skalowalne, najpierw 50 000 rekordów są używane do obsługiwał wstępne skanowania.Jeśli to się powiedzie, model używa tylko te dane.Jeśli model nie może być dopasowanie przy użyciu 50 000 rekordów, dodatkowe 50 000 rekordów są odczytywane.W innych niż skalowalne EM cały zestaw danych jest odczytywany niezależnie od jego rozmiaru.Ta metoda może tworzyć dokładniejsze klastrów, ale wymagania pamięci mogą być istotne.Ponieważ skalowalne EM działa w lokalnym buforze, iteracja danych jest znacznie szybszy i algorytm powoduje, że dużo lepsze wykorzystanie pamięci podręcznej PROCESORA niż EM skalowalne.Ponadto skalowalne EM jest trzy razy szybsza niż EM skalowalną, nawet wtedy, gdy wszystkie dane mieści się w pamięci głównej.W większości przypadków wzrost wydajności nie prowadzi do obniżenia jakości pełny model.
Dla technicznych raport, który zawiera opis stosowania EM w Microsoft Klastrowanie algorytmu, zobacz Skalowanie EM (Maximization oczekiwania), usługa klastrowania do dużych baz danych.
K oznacza klastrowanie
Klastrowanie K oznacza jest dobrze znane metoda przypisywania członkostwa klastra przez minimalizowanie różnic między elementami w klastrze podczas maksymalizacja odległość między klastrów."Oznacza" w k oznacza odnosi się do środek strefy klaster, który jest punkt danych, który jest wybrany arbitralnie, a następnie Elegancja iteratively dopóki nie reprezentuje rzeczywistego średnią wszystkich punktów danych w klastrze."k" odnosi się do dowolnej liczby punktów, które są używane, aby obsługiwał proces klastrowania.Algorytm k oznacza oblicza kwadrat Euclidean odległości między rekordów danych w klastrze i wektora przedstawia średnią klastra, a converges na zestawie końcowe k klastrów, gdy tej kwoty osiągnie wartość minimalna.
Algorytm k oznacza przypisuje każdy punkt danych dokładnie jeden klaster, a nie zezwala na niepewności w członkostwie.Członkostwo w klastrze jest wyrażona w pewnej odległości od środek strefy.
Zazwyczaj algorytm k oznacza służy do tworzenia klastry ciągłe atrybutów, których obliczania odległości od średniej jest prosta.Jednak Microsoft Implementacja dostosowuje metoda k oznacza do klastra discrete atrybutów, korzystając z nimi prawdopodobieństwa. Atrybuty discrete odległość od punktu danych z określonego klastra jest obliczana w następujący sposób:
1 P(data point, cluster)
Uwaga
The Microsoft klastrowanie algorithm does not expose the distance funkcja used in computing k-means, and measures of distance are not available in the completed model. Jednak służy funkcja prognozowania zwrócić wartość, która odpowiada na odległość, na którym odległość jest obliczana jako prawdopodobieństwo punkt danych należących do klastra.Aby uzyskać więcej informacji zobaczClusterProbability (DMX).
Algorytm k oznacza oferuje dwie metody zestaw danych do pobierania próbkowanie: -skalowalną K-środków, który ładuje cały zestaw danych i sprawia, że jeden klastrowanie przebiegu lub skalowalne k oznacza, których algorytm używa przypadkach najpierw 50 000 i odczytuje więcej przypadków tylko wtedy, gdy potrzebuje więcej danych do osiągnięcia towar dopasowanie modelu do danych.
Dostosowywanie Microsoft klastrowanie algorytmu
The Microsoft klastrowanie algorithm supports several parameters that affect the behavior, performance, and accuracy of the resulting model wyszukiwania.
Ustawianie parametrów algorytmu
W poniższej tabela opisano parametry, które mogą być używane z Microsoft Klastrowanie algorytmu. Parametry te mają wpływ na wydajność i dokładność wynikowy model wyszukiwania.
CLUSTERING_METHOD
Określa klastrowanie metoda algorytm ma być używany.Następujące klastrowanie dostępne są metody:Identyfikator
Metoda
1
Skalowalna EM
2
-Skalowalną EM
3
Skalowalna K-średniej
4
K-skalowalną średniej.
Wartością domyślną jest 1 (skalowalne EM).
CLUSTER_COUNT
Określa przybliżoną liczbę klastrów do być budowany za algorytmu.Jeśli przybliżoną liczbę klastrów nie może być wbudowane w danych, algorytm tworzy liczbę klastrów jak to możliwe.Ustawienie CLUSTER_COUNT na 0 powoduje, że algorytm użycia rozwiązania heurystyczne służące do najlepiej określają liczbę klastrów do utworzenia.Wartość domyślna to 10.
CLUSTER_SEED
Określa numer siewnego, który jest używany do losowo generowania klastrów na etapie początkowym budowania modelu.Zmiana tego numeru, zmiana sposobu wbudowanych początkowego klastrów i następnie porównaj modele, które są wbudowane przy użyciu różnych nasionami.Jeżeli siewnego ulega zmianie, ale klastry, które znajdują się nie zmieniają się znacznie, modelu można wziąć pod uwagę względnie stabilne.
Wartość domyślna to 0.
MINIMUM_SUPPORT
Określa minimalną liczbę przypadków, które są wymagane do utworzenia klastra.Jeśli liczba przypadków, w klastrze jest mniejsza od tej liczby, klaster jest traktowane jako puste i odrzucone.Jeśli użytkownik zestaw ta liczba za duża, może pominąć ważne klastrów.
Uwaga
Jeśli używasz EM, które jest ustawieniem domyślnym klastrowanie metoda, niektóre klastry mogą mieć wartość pomocy technicznej, która jest mniejsza niż określona wartość.Jest tak, ponieważ każdorazowo jest wyznaczana dla swojego członkostwa w wszystkich możliwych klastrów, a niektóre klastrów może być tylko minimalna obsługa.
Wartość domyślna to 1.
MODELLING_CARDINALITY
Określa liczbę modeli próbki, które są zbudowane podczas klastrowanie procesu.Zmniejszanie liczby modeli kandydat może zwiększyć wydajność na ryzyko brakuje niektórych modeli odpowiednie do pełnienia funkcji.
Wartość domyślna to 10.
STOPPING_TOLERANCE
Określa wartość, która jest używana do określenia osiągnięcia zbieżności i algorytm zakończeniu budowania modelu.Zbieżność zostanie osiągnięty, kiedy zmiana ogólnych prawdopodobieństw klastra jest mniejsza niż stosunek parametr STOPPING_TOLERANCE podzielonej przez rozmiar modelu.Wartość domyślna to 10.
SAMPLE_SIZE
Określa liczbę przypadków, używający algorytmu w każdym przypadku parametr CLUSTERING_METHOD zestaw do jednego z skalowalne klastrowanie metod.Ustawienie parametru SAMPLE_SIZE 0 spowoduje, że cały zestaw danych być zgromadzone w jednym przebiegu.Ładowanie cały zestaw danych w jednym przebiegu może spowodować, że pamięć i wydajność problemy.Wartość domyślna to 50000.
MAXIMUM_INPUT_ATTRIBUTES
Określa maksymalną liczbę operacji wejścia atrybuty, które może obsłużyć algorytmu, zanim go wywołuje funkcję zaznaczenia.Ustawienie wartości 0 określa, że istnieje maksymalna liczba atrybutów.Zwiększenie liczby atrybutów może znacznie zmniejszyć wydajność.
Wartość domyślna to 255.
MAXIMUM_STATES
Określa maksymalną liczbę stanów atrybut, który obsługuje algorytm.Jeśli atrybut ma więcej stanów niż maksymalna, algorytm korzysta z najbardziej popularnych stanów i ignoruje pozostałych stanów.Zwiększenie liczby stanów może znacznie zmniejszyć wydajność.
Wartość domyślna to 100.
Modelowanie flagi
Algorytm obsługuje następujące flagi modelowania.Podczas tworzenia struktura wyszukiwania lub model wyszukiwania można zdefiniować flagi modelowania.Flagi modelowania określić sposób obsługi wartości w każdej kolumnie podczas analizy.
Flaga modelowania |
Description |
---|---|
MODEL_EXISTENCE_ONLY |
kolumna będą traktowane jako posiadający dwa możliwe stany: Brak i istniejącego. Wartość null jest brak wartości. Stosuje się do kolumna model wyszukiwania. |
NIEDOZWOLONE WARTOŚCI NULL |
Kolumna nie może zawierać wartość null.Jeżeli usługi Analysis Services napotyka wartość null podczas szkolenia modelu, spowoduje błąd. Stosuje się do kolumna struktura wyszukiwania. |
Wymagania
Model klastrowania musi zawierać kolumna klucz i kolumna danych wejściowych.Można także zdefiniować kolumny danych wejściowych jako przewidywalne.Ustaw wartość kolumny Predict Only nie są używane do tworzenia klastrów. Rozmieszczenie tych wartości w klastrach są obliczane po klastrów są wbudowane.
Dane wejściowe i uzyskania przewidywalnej kolumny
The Microsoft klastrowanie algorithm supports the specific input columns and predictable columns that are listed in the following tabela. Aby uzyskać więcej informacji na temat typów zawartości znaczenie w model wyszukiwania zobacz Typy zawartości (wyszukiwanie danych).
Kolumna |
Typy zawartości |
---|---|
Atrybut wejściowy |
Ciągłe, cykliczna, discrete, Discretized, klucz, tabela zamówiona |
Atrybut przewidywalne |
Ciągłe, cykliczna, discrete, Discretized tabela zamówiona |
Uwaga
Obsługiwane są typy zawartości Cyclical i Zamówione, ale algorytm traktuje je jako discrete wartości i nie wykonuje przetwarzania specjalne.