Technische Referenz für den Microsoft Association-Algorithmus

Gilt für: SQL Server 2019 und früher Analysis Services Azure Analysis Services Fabric/Power BI Premium

Wichtig

Data Mining wurde in SQL Server 2017 Analysis Services als veraltet eingestuft und wurde jetzt in SQL Server 2022 Analysis Services eingestellt. Die Dokumentation wird für veraltete und eingestellte Features nicht aktualisiert. Weitere Informationen finden Sie unter Abwärtskompatibilität von Analysis Services.

Der Microsoft Association Rules-Algorithmus ist eine einfache Implementierung des bekannten Apriori-Algorithmus.

Sowohl der Microsoft Decision Trees-Algorithmus als auch der Microsoft Association Rules-Algorithmus können verwendet werden, um Zuordnungen zu analysieren, aber die Regeln, die von jedem Algorithmus gefunden werden, können sich unterscheiden. In einem Entscheidungsstrukturmodell basieren die Aufteilungen, von denen bestimmte Regeln abgeleitet werden, auf Informationen, während die Regeln in einem Zuordnungsmodell vollständig auf Vertrauen beruhen. Daher ist in einem Zuordnungsmodell eine starke Regel bzw. eine Regel, deren Vertrauen hoch ist, nicht unbedingt interessant, da sie keine neuen Informationen bietet.

Implementierung des Microsoft Association-Algorithmus

Der Apriori-Algorithmus analysiert keine Muster, sondern generiert und zählt Kandidatenitemsets. Ein Element (Item) kann ein Ereignis, ein Produkt oder der Wert eines Attributs sein. Dies hängt vom Typ der analysierten Daten ab.

Beim häufigsten Typ von Zuordnungsmodell werden den einzelnen Attributen, wie z. B. Produkt oder Ereignisname, boolesche Variablen zugeordnet, die die Werte "Ja/Nein" oder "Fehlend/Vorhanden" darstellen. Eine Warenkorbanalyse ist ein Beispiel für ein Zuordnungsregelnmodell, das mit booleschen Variablen das Vorhandensein oder Fehlen eines bestimmten Produkts im Warenkorb eines Kunden darstellt.

Für jedes Itemset erstellt der Algorithmus dann Ergebnisse, die Unterstützung und Vertrauen darstellen. Diese Ergebnisse können dazu verwendet werden, interessante Regeln zu ordnen und von den Itemsets abzuleiten.

Zuordnungsmodelle können auch für numerische Attribute verwendet werden. Wenn die Attribute fortlaufend sind, können die Zahlen diskretisiert oder in Buckets gruppiert werden. Die diskretisierten Werte können dann entweder als boolesche Werte oder Attribut/Wert-Paare behandelt werden.

Unterstützung, Wahrscheinlichkeit und Wichtigkeit

Unterstützung, mitunter auch als Häufigkeitbezeichnet, steht für die Anzahl der Fälle, in denen das entsprechende Element oder die entsprechende Elementkombination enthalten ist. Nur Elemente, die mindestens die angegebene Menge an Unterstützung haben, können im Modell enthalten sein.

Ein häufig enthaltenes Itemset bezieht sich auf eine Sammlung von Elementen, bei denen die Elementkombination Unterstützung über dem durch den Parameter MINIMUM_SUPPORT definierten Schwellenwert erhält. Wenn das Itemset beispielsweise {A,B,C} lautet und der Wert MINIMUM_SUPPORT 10 beträgt, muss jedes einzelne Element A, B und C in mindestens 10 Fällen vorhanden sein, um in das Modell aufgenommen zu werden. Die Elementkombination {A,B,C} muss ebenfalls in mindestens 10 Fällen enthalten sein.

Hinweis : Sie können die Anzahl der Itemsets in einem Miningmodell auch steuern, indem Sie die maximale Länge eines Itemsets angeben, wobei Länge in diesem Fall für die Anzahl der Elemente steht.

Standardmäßig stellt die Unterstützung für ein bestimmtes Element oder Itemset die Anzahl der Fälle dar, die das Element bzw. die Elemente enthalten. Sie können den Wert MINIMUM_SUPPORT auch als prozentualen Anteil der Gesamtfälle im Dataset ausdrücken, indem Sie die Zahl als eine Dezimalzahl kleiner als 1 eingeben. Wenn Sie für MINIMUM_SUPPORT einen Wert von 0,03 angeben, bedeutet dies, dass mindestens 3 Prozent der Gesamtfälle im Dataset dieses Element oder Itemset enthalten müssen, damit es in das Modell aufgenommen wird. Experimentieren Sie mit dem Modell, um festzustellen, ob die Angabe der Anzahl oder des prozentualen Anteils sinnvoller ist.

Im Gegensatz dazu wird der Schwellenwert für Regeln nicht als Anzahl oder prozentualer Anteil ausgedrückt, sondern als Wahrscheinlichkeit, mitunter auch als Vertrauenbezeichnet. Wenn das Itemset {A,B,C} beispielsweise in 50 Fällen enthalten ist, das Itemset {A,B,D} ebenfalls in 50 Fällen und das Itemset {A,B} in weiteren 50 Fällen, ist offensichtlich, dass {A,B} kein starkes Vorhersagekriterium für {C} ist. Um ein bestimmtes Ergebnis mit allen bekannten Ergebnissen zu gewichten, berechnet SQL Server Analysis Services daher die Wahrscheinlichkeit der einzelnen Regel (z. B. Wenn {A,B} Then {C}), indem die Unterstützung für das Itemset {A,B,C} durch die Unterstützung für alle verwandten Itemsets dividiert wird.

Sie können die Anzahl von Regeln, die ein Modell erzeugt, einschränken, indem Sie einen Wert für MINIMUM_PROBABILITY festlegen.

Für jede regel, die erstellt wird, gibt SQL Server Analysis Services eine Bewertung aus, die ihre Wichtigkeit angibt, die auch als Lift zurückgestellt wird. Liftwichtigkeit wird für Itemsets und Regeln anders berechnet.

Die Wichtigkeit eines Itemsets wird als Wahrscheinlichkeit des Itemsets dividiert durch die zusammengesetzte Wahrscheinlichkeit der einzelnen Elemente im Itemset berechnet. Wenn ein Itemset beispielsweise {A,B} enthält, zählt SQL Server Analysis Services zuerst alle Fälle, die diese Kombination A und B enthalten, und dividiert diese durch die Gesamtzahl der Fälle und normalisiert dann die Wahrscheinlichkeit.

Die Wichtigkeit einer Regel wird anhand des Wahrscheinlichkeitsprotokolls der rechten Seite der Regel in Bezug auf die linke Seite der Regel berechnet. In der Regel If {A} Then {B}berechnet SQL Server Analysis Services beispielsweise das Verhältnis von Fällen mit A und B über Fällen mit B, jedoch ohne A, und normalisiert dann dieses Verhältnis mithilfe einer logarithmischen Skala.

Featureauswahl

Der Microsoft Association Rules-Algorithmus führt keine automatische Featureauswahl aus. Stattdessen stellt der Algorithmus Parameter bereit, die die Daten kontrollieren, die vom Algorithmus verwendet werden. Diese Parameter können Beschränkungen der Größe der einzelnen Itemsets oder die maximale und Mindestunterstützung umfassen, die erforderlich ist, um ein Itemset in das Modell aufzunehmen.

  • Um Elemente und Ereignisse herauszufiltern, die zu allgemein und daher nicht interessant sind, senken Sie den Wert für MAXIMUM_SUPPORT, um sehr häufig auftretende Itemsets aus dem Modell zu entfernen.

  • Um Elemente und Itemsets herauszufiltern, die selten sind, erhöhen Sie den Wert für MINIMUM_SUPPORT.

  • Um Regeln herauszufiltern, erhöhen Sie den Wert für MINIMUM_PROBABILITY.

Anpassen des Microsoft Association Rules-Algorithmus

Der Microsoft Association Rules-Algorithmus unterstützt mehrere Parameter, die sich auf das Verhalten, die Leistung und die Genauigkeit des resultierenden Miningmodells auswirken.

Festlegen von Algorithmusparametern

Sie können die Parameter für ein Miningmodell jederzeit ändern, indem Sie die Data Mining-Designer in SQL Server Data Tools verwenden. Sie können Parameter auch programmgesteuert ändern, indem Sie die AlgorithmParameters Auflistung in AMO oder das MiningModels-Element (ASSL) in XMLA verwenden. In der folgenden Tabelle wird jeder Parameter beschrieben.

Hinweis

Sie können die Parameter in einem vorhandenen Modell nicht mithilfe einer DMX-Anweisung ändern. Sie müssen die Parameter in DMX CREATE MODEL oder ALTER STRUCTURE angeben... ADD MODEL beim Erstellen des Modells.

MAXIMUM_ITEMSET_COUNT
Gibt die maximal zu erzeugende Anzahl von Itemsets an. Wird keine Anzahl angegeben, wird der Standardwert verwendet.

Der Standardwert ist 200000.

Hinweis

Itemsets werden nach Unterstützung geordnet. Bei Itemsets, die die gleiche Unterstützung haben, ist die Anordnung willkürlich.

MAXIMUM_ITEMSET_SIZE
Gibt die maximale Anzahl von Elementen an, die in einem Itemset zulässig sind. Wenn Sie diesen Wert auf 0 festlegen, geben Sie dadurch an, dass es für die Größe des Itemsets keine Begrenzung gibt.

Der Standardwert ist 3.

Hinweis

Durch Senken dieses Werts kann die zum Erstellen des Modells erforderliche Zeit möglicherweise reduziert werden, da die Verarbeitung des Modells angehalten wird, sobald die Begrenzung erreicht wird.

MAXIMUM_SUPPORT
Gibt die maximale Anzahl von Fällen an, in denen ein Itemset unterstützt werden kann. Dieser Parameter kann verwendet werden, um Elemente auszuschließen, die häufig auftreten und daher potenziell wenig Bedeutung haben.

Wenn dieser Wert kleiner als 1 ist, entspricht er einem prozentualen Anteil an der Gesamtzahl von Fällen. Werte, die größer als 1 sind, entsprechen der absoluten Anzahl von Fällen, die das Itemset enthalten können.

Der Standardwert ist 1.

MINIMUM_ITEMSET_SIZE
Gibt die Mindestanzahl von Elementen an, die in einem Itemset zulässig sind. Wenn Sie diese Zahl erhöhen, enthält das Modell möglicherweise weniger Itemsets. Dies kann nützlich sein, wenn Sie beispielsweise aus einem einzelnen Element bestehende Itemsets ignorieren möchten.

Der Standardwert ist 1.

Hinweis

Sie können die Modellverarbeitungszeit nicht reduzieren, indem Sie den Mindestwert erhöhen, da SQL Server Analysis Services wahrscheinlichkeiten für einzelne Elemente sowieso als Teil der Verarbeitung berechnen müssen. Durch Erhöhen des Werts können Sie jedoch kleinere Itemsets herausfiltern.

MINIMUM_PROBABILITY
Gibt die Mindestwahrscheinlichkeit an, dass eine Regel wahr ist.

Wenn Sie diesen Wert beispielsweise auf 0,5 festlegen, kann keine Regel mit einer Wahrscheinlichkeit von weniger als 50 Prozent generiert werden.

Der Standardwert ist 0,4.

MINIMUM_SUPPORT
Gibt an, in wie vielen Fällen das Itemset mindestens enthalten sein muss, damit der Algorithmus eine Regel generiert.

Wenn dieser Wert auf unter 1 festgelegt wird, wird die Mindestanzahl von Fällen als prozentualer Anteil an der Gesamtzahl von Fällen berechnet.

Wird dieser Wert auf eine Ganzzahl über 1 festgelegt, so wird die Mindestanzahl von Fällen als Anzahl von Fällen, die das Itemset enthalten müssen, berechnet. Der Algorithmus setzt den Wert dieses Parameters möglicherweise automatisch herauf, wenn der Speicherplatz knapp ist.

Der Standardwert ist 0,03. Dies bedeutet, dass ein Itemset in mindestens 3 Prozent der Fälle enthalten sein muss, um in das Modell aufgenommen zu werden.

OPTIMIZED_PREDICTION_COUNT
Definiert die Anzahl von Elementen, die zum Optimieren einer Vorhersage zwischengespeichert werden.

Der Standardwert ist 0. Wenn der Standard verwendet wird, werden so viele Vorhersagen vom Algorithmus erzeugt, wie in der Abfrage angefordert werden.

Wenn Sie für OPTIMIZED_PREDICTION_COUNT, einen Wert ungleich null angeben, können Vorhersageabfragen höchstens die angegebene Anzahl von Elementen zurückgeben, selbst wenn Sie weitere Vorhersagen anfordern. Durch Festlegen eines Werts kann jedoch die Vorhersageleistung gesteigert werden.

Wenn der Wert beispielsweise auf 3 festgelegt wird, werden vom Algorithmus nur drei Elemente für die Vorhersage zwischengespeichert. Es werden keine zusätzlichen Vorhersagen angezeigt, die möglicherweise gleich wahrscheinlich zu den drei zurückgegebenen Elementen sind.

Modellierungsflags

Die folgenden Modellierungsflags werden für die Verwendung mit dem Microsoft Association Rules-Algorithmus unterstützt.

NOT NULL
Gibt an, dass die Spalte keinen NULL-Wert enthalten kann. Ein Fehler tritt auf, wenn SQL Server Analysis Services während des Modelltrainings auf NULL stößt.

Gilt für die Miningstrukturspalte.

MODEL_EXISTENCE_ONLY
Bedeutet, dass die Spalte als zwei mögliche Zustände behandelt wird: Missing und Existing. Ein NULL-Wert ist ein fehlender Wert.

Gilt für die Miningmodellspalte.

Anforderungen

Ein Associationmodell muss eine Schlüsselspalte, Eingabespalten und eine einzelne vorhersagbare Spalte enthalten.

Eingabespalten und vorhersagbare Spalten

Der Microsoft Association Rules-Algorithmus unterstützt die spezifischen Eingabespalten und vorhersagbaren Spalten, die in der folgenden Tabelle aufgeführt sind. Weitere Informationen zur Bedeutung von Inhaltstypen in einem Miningmodell finden Sie unter Inhaltstypen (Data Mining).

Spalte Inhaltstypen
Eingabeattribut Cyclical, Discrete, Discretized, Key, Table, Ordered
Vorhersagbares Attribut Zyklisch, Diskret, Diskretisiert, Tabelle und Sortiert

Hinweis

Zyklische und sortierte Inhaltstypen werden unterstützt, der Algorithmus behandelt sie jedoch als diskrete Werte und führt keine spezielle Verarbeitung durch.

Weitere Informationen

Microsoft Association-Algorithmus
Beispiele für Zuordnungsmodellabfragen
Miningmodellinhalt von Zuordnungsmodellen (Analysis Services – Data Mining)