Condividi tramite


Algoritmo Microsoft Association Rules

Data aggiornamento: 17 novembre 2008

L'algoritmo Microsoft Association Rules è un algoritmo di associazione incluso in Microsoft SQL Server 2005 Analysis Services (SSAS), utile per i motori dei suggerimenti. Un motore dei suggerimenti consiglia prodotti ai clienti in base agli articoli che hanno già acquistato o a cui sono interessati. L'algoritmo Microsoft Association Rules è utile anche per l'analisi di mercato sugli acquisti. Per ulteriori informazioni su tale analisi di mercato, vedere Lezione 4: Creazione dello scenario Market Basket relativo all'analisi degli acquisti nell'esercitazione sul data mining.

I modelli di associazione vengono creati in base a set di dati che includono sia gli indicatori dei singoli case che gli indicatori degli elementi contenuti nei case. Un gruppo di elementi viene chiamato set di elementi. Un modello di associazione è costituito da una serie di set di elementi e di regole che descrivono la modalità di raggruppamento di tali elementi all'interno dei case. È possibile utilizzare le regole identificate dall'algoritmo per stimare i probabili acquisti futuri di un cliente, in base agli elementi già esistenti nel relativo carrello acquisti. Nel diagramma seguente viene illustrata una serie di regole all'interno di un set di elementi.

Set di regole per un modello Association Rules

Come illustrato nel diagramma, l'algoritmo Microsoft Association Rules può individuare potenzialmente un numero elevato di regole all'interno di un set di dati. L'algoritmo utilizza due parametri, uno di supporto e l'altro di probabilità, per descrivere i set di elementi e le regole generati. Se ad esempio X e Y rappresentano due elementi contenuti in un carrello acquisti, il parametro di supporto è il numero di case del set di dati che contengono la combinazione di elementi X e Y. Se il parametro di supporto viene utilizzato insieme al parametro definito dall'utente MINIMUM_SUPPORT e ai parametri MAXIMUM_SUPPORT,, l'algoritmo controlla il numero di set di elementi generati. Il parametro di probabilità rappresenta la frazione di case del set di dati che contengono sia l'elemento X che l'elemento Y. Se il parametro di probabilità viene utilizzato insieme al parametro MINIMUM_PROBABILITY, l'algoritmo controlla il numero di regole generate.

Esempio

L'azienda Adventure Works Cycles intende riprogettare la funzionalità del relativo sito Web. L'obiettivo della riprogettazione è aumentare le vendite effettive dei prodotti. Poiché l'azienda registra ogni vendita in un database transazionale, è possibile utilizzare l'algoritmo Microsoft Association Rules per identificare i set di prodotti che tendono ad essere acquistati insieme. In seguito, è possibile stimare elementi aggiuntivi a cui può essere interessato un cliente, in base agli elementi già esistenti nel relativo carrello acquisti.

Funzionamento dell'algoritmo

L'algoritmo Microsoft Association Rules attraversa un set di dati per trovare elementi che ricorrono insieme in un case. Successivamente, l'algoritmo raggruppa in set gli elementi associati che ricorrono almeno nel numero di case specificati dal parametro MINIMUM_SUPPORT. Ad esempio, un set di elementi potrebbe essere "Mountain 200=Existing, Sport 100=Existing", con un valore di supporto pari a 710. L'algoritmo genera quindi le regole dai set di elementi. Tali regole vengono utilizzate per stimare la presenza di un elemento nel database, in base alla presenza di altri elementi specifici che l'algoritmo identifica come importanti. Ad esempio, una regola potrebbe essere "if Touring 1000=existing and Road bottle cage=existing, then Water bottle=existing", con un valore di probabilità pari a 0,812. In questo esempio, in base alla presenza di pneumatici Touring 1000 e del contenitore per bottiglie di acqua nel carrello acquisti, l'algoritmo stima che tale carrello contiene probabilmente anche una bottiglia di acqua.

Utilizzo dell'algoritmo

Un modello di associazione deve contenere una colonna chiave, le colonne di input e una colonna stimabile. Le colonne di input devono essere discrete. Spesso, i dati di input per il modello di associazione sono contenuti in due tabelle. Ad esempio, una tabella può contenere informazioni sui clienti mentre l'altra può contenere informazioni sugli acquisti dei clienti. È possibile inserire tali dati nel modello tramite una tabella nidificata. Per ulteriori informazioni sulle tabelle nidificate, vedere Tabelle nidificate.

L'algoritmo Microsoft Association Rules supporta tipi di contenuto specifici delle colonne di input, tipi di contenuto specifici delle colonne stimabili e flag di modellazione, elencati nella tabella seguente.

Tipi di contenuto delle colonne di input

Cyclical, Discrete, Discretized, Key, Table e Ordered

Tipi di contenuto delle colonne stimabili

Cyclical, Discrete, Discretized, Table e Ordered

Flag di modellazione

MODEL_EXISTENCE_ONLY e NOT NULL

Tutti gli algoritmi Microsoft supportano un set comune di funzioni. L'algoritmo Microsoft Association Rules supporta tuttavia funzioni aggiuntive, elencate nella tabella seguente.

IsDescendant

PredictHistogram

IsInNode

PredictNodeId

PredictAdjustedProbability

PredictProbability

PredictAssociation

PredictSupport

Per un elenco delle funzioni comuni a tutti gli algoritmi Microsoft, vedere Algoritmi di data mining. Per ulteriori informazioni sull'utilizzo di tali funzioni, vedere Guida di riferimento alle funzioni DMX (Data Mining Extensions).

L'algoritmo Microsoft Association Rules non supporta l'utilizzo dello standard PMML (Predictive Model Markup Language) per la creazione dei modelli di data mining.

L'algoritmo Microsoft Association Rules supporta vari parametri che influiscono sulle prestazioni e sull'accuratezza del modello di data mining risultante. Nella tabella seguente viene descritto ogni parametro.

Parametro

Descrizione

MINIMUM_SUPPORT

Specifica il numero minimo di case che devono contenere il set di elementi affinché l'algoritmo possa generare una regola. Se si imposta un valore minore di 1, il numero minimo di case viene indicato come percentuale sul totale dei case. Se si imposta un numero intero maggiore di 1, il numero minimo di case è indicato come numero assoluto di case che devono contenere il set di elementi. Se la memoria è limitata, l'algoritmo può aumentare il valore di questo parametro.

Il valore predefinito è 0,03.

MAXIMUM_SUPPORT

Specifica il numero massimo di case che possono supportare un determinato set di elementi. I valori minori di 1 rappresentano una percentuale sul totale dei case. I valori maggiori di 1 rappresentano il numero assoluto di case che possono contenere il set di elementi.

Il valore predefinito è 1.

MINIMUM_ITEMSET_SIZE

Specifica il numero minimo di elementi consentito in un set di elementi.

Il valore predefinito è 1.

MAXIMUM_ITEMSET_SIZE

Specifica il numero massimo di elementi consentito in un set di elementi. Se si imposta il valore 0, non esiste alcun limite per le dimensioni del set di elementi.

Il valore predefinito è 3.

MAXIMUM_ITEMSET_COUNT

Specifica il numero massimo di elementi da produrre. Se non viene specificato alcun numero, viene utilizzato quello predefinito. Il valore predefinito è 200000.

ms174916.note(it-it,SQL.90).gifNota:

I set di elementi sono classificati dal supporto solo. Fra i set di elementi che hanno lo stesso supporto, l'ordinamento è arbitrario.

MINIMUM_PROBABILITY

Specifica la probabilità minima che una regola sia True. Se ad esempio si imposta il valore 0,5, non verranno generate regole con probabilità inferiore al 50%.

Il valore predefinito è 0,4.

OPTIMIZED_PREDICTION_COUNT

Definisce il numero di elementi da memorizzare nella cache o da ottimizzare per la stima.

Il valore predefinito è 0. Se si utilizza il valore predefinito, l'algoritmo produrrà il numero di stime richieste nella query.

Cronologia modifiche

Versione Cronologia

17 novembre 2008

Nuovo contenuto:
  • Aggiunta della descrizione del valore e del comportamento predefiniti per OPTIMIZED_PREDICTION_COUNT.

15 settembre 2007

Contenuto modificato:
  • Correzione della descrizione del comportamento per MAXIMUM_ITEMSET_COUNT.
  • Per informazioni sui problemi relativi al valore predefinito di MINIMUM_SUPPORT, vedere la Microsoft Knowledge Base.

Vedere anche

Concetti

Algoritmi di data mining
Creazione guidata modello di data mining
Utilizzo degli strumenti di data mining
Visualizzazione di un modello di data mining con il Visualizzatore Microsoft Association Rules

Altre risorse

CREATE MINING MODEL (DMX)

Guida in linea e informazioni

Assistenza su SQL Server 2005