Condividi tramite


Algoritmo Microsoft Sequence Clustering

L'algoritmo Microsoft Sequence Clustering è un algoritmo di analisi delle sequenze incluso in Microsoft SQL Server 2005 Analysis Services (SSAS). È possibile utilizzare questo algoritmo per esplorare i dati contenenti eventi da collegare tramite i percorsi o sequenze seguenti. L'algoritmo individua le sequenze più comuni raggruppando le sequenze identiche, ovvero eseguendone il clustering. Tali sequenze possono assumere varie forme, inclusi i tipi di dati seguenti:

  • Dati che descrivono i percorsi di esplorazione seguiti dagli utenti in un sito Web
  • Dati che descrivono l'ordine in un cui un cliente aggiunge articoli al carrello acquisti in un punto vendita in linea

Questo algoritmo è simile all'Algoritmo Microsoft Clustering ma, anziché rilevare cluster di case contenenti attributi simili, l'algoritmo Microsoft Sequence Clustering individua i cluster di case contenenti percorsi simili in una sequenza.

Il modello di data mining creato da questo algoritmo contiene le descrizioni delle sequenze più comuni incluse nei dati. È possibile utilizzare le descrizioni per la stima del passaggio successivo probabile di una nuova sequenza. Quando l'algoritmo esegue il clustering dei record, può inoltre individuare nei dati le colonne che non sono direttamente correlate alle sequenze. Poiché l'algoritmo include le colonne non correlate, è possibile utilizzare il modello risultante per identificare le relazioni tra i dati in sequenza e i dati non in sequenza.

Esempio

Nel sito Web dell'azienda Adventure Works vengono raccolte informazioni sulle pagine visitate dagli utenti del sito e sul relativo ordine di esplorazione. Poiché l'azienda accetta solo ordini in linea, i clienti devono accedere al sito. In questo modo, l'azienda ottiene informazioni di esplorazione per il profilo di ogni cliente. Tramite l'applicazione dell'algoritmo Microsoft Sequence Clustering a tali dati, l'azienda può individuare gruppi o cluster di clienti con schemi di acquisto o sequenze di selezioni simili. In seguito, l'azienda può utilizzare tali cluster per analizzare gli spostamenti degli utenti nel sito Web, identificare le pagine più strettamente correlate alla vendita di un prodotto specifico ed eseguire la stima delle pagine che con maggiore probabilità verranno visitate successivamente.

Funzionamento dell'algoritmo

Per identificare i cluster e le relative sequenze, l'algoritmo utilizza il metodo di clustering EM (Expectation Maximization). In particolare, l'algoritmo utilizza un metodo probabilistico per determinare la probabilità che un cluster includa un determinato punto dati. Per una descrizione dell'utilizzo di questo metodo di clustering nell'algoritmo Microsoft Clustering, vedere Algoritmo Microsoft Clustering.

Una delle colonne di input utilizzate dall'algoritmo Microsoft Sequence Clustering è una tabella nidificata che contiene i dati della sequenza. Tali dati consistono in una serie di transizioni di stato di singoli case in un set di dati, ad esempio acquisiti di prodotti o selezioni Web. Per determinare le colonne della sequenza da considerare come colonne di input per il clustering, l'algoritmo misura le differenze o distanze tra tutte le sequenze possibili del set di dati. Dopo che l'algoritmo ha misurato tali distanze, può utilizzare la colonna della sequenza come input per il metodo di clustering EM.

Utilizzo dell'algoritmo

Un modello di clustering delle sequenze richiede una chiave che identifica i record e una tabella nidificata contenente una colonna correlata alla sequenza, ad esempio un identificatore di pagine Web, che identifica gli eventi di una sequenza. Per ogni sequenza è consentita un'unica colonna correlata e per ogni modello è consentito un unico tipo di sequenza. Per creare un modello nello scenario dell'esempio precedente di questo argomento, è necessaria un'origine dei dati con due tabelle. La prima tabella contiene gli ordini, mentre la seconda tabella contiene la sequenza in cui gli ordini vengono inseriti in un carrello acquisti.

L'algoritmo Microsoft Sequence Clustering 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

Continuous, Cyclical, Discrete, Discretized, Key, Key Sequence, Table e Ordered

Tipi di contenuto delle colonne stimabili

Continuous, 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 Sequence Clustering supporta tuttavia funzioni aggiuntive, elencate nella tabella seguente.

Cluster

PredictHistogram

ClusterProbability

PredictNodeId

IsDescendant

PredictProbability

IsInNode

PredictSequence

PredictAdjustedProbability

PredictStdev

PredictAssociation

PredictSupport

PredictCaseLikelihood

PredictVariance

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

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

L'algoritmo Microsoft Sequence Clustering 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

CLUSTER_COUNT

Specifica il numero approssimativo di cluster che devono essere generati dall'algoritmo. Se i dati non consentono di generare il numero approssimativo di cluster, l'algoritmo genererà il maggior numero di cluster possibile. Se si imposta il parametro CLUSTER_COUNT su 0, l'algoritmo utilizzerà l'euristica per determinare con maggiore accuratezza il numero di cluster da generare.

Il valore predefinito è 10.

MINIMUM_SUPPORT

Specifica il numero minimo di case in ogni cluster.

Il valore predefinito è 10.

MAXIMUM_SEQUENCE_STATES

Specifica il numero massimo di stati consentiti in una sequenza. Se si imposta un valore numerico maggiore di 100, l'algoritmo potrebbe creare un modello che non restituisce informazioni significative.

Il valore predefinito è 64.

MAXIMUM_STATES

Specifica il numero massimo di stati per un attributo fuori sequenza supportato dall'algoritmo. Se il numero di stati di un attributo fuori sequenza è maggiore del numero massimo, l'algoritmo utilizza gli stati più frequenti dell'attributo e considera gli stati rimanenti come mancanti.

Il valore predefinito è 100.

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 Sequence Clustering

Altre risorse

CREATE MINING MODEL (DMX)

Guida in linea e informazioni

Assistenza su SQL Server 2005