Factorization Machine Classifier

Factorization Machine Classifier è un algoritmo di classificazione che supporta la normale discesa con gradiente e il risolutore AdamW. Il modello di classificazione della macchina di fattorizzazione utilizza la perdita logistica, che può essere ottimizzata tramite una discesa con gradiente, e spesso include termini di regolarizzazione come L2 per evitare l'eccesso di adattamento.

Parametri

La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Factorization Machine Classifier.

ParametroDescrizioneValore predefinitoValori possibili
TOLLa tolleranza di convergenza, che controlla la precisione dell'ottimizzazione.1E-6(>= 0)
FACTOR_SIZELa dimensionalità dei fattori.8(>= 0)
FIT_INTERCEPTSpecifica se adattare un termine di intercettazione.truetrue, false
FIT_LINEARSpecifica se adattarsi al termine lineare (noto anche come termine a una via).truetrue, false
INIT_STDDeviazione standard per l'inizializzazione dei coefficienti.0,01(>= 0)
MAX_ITERIl numero massimo di iterazioni per l’algoritmo da eseguire.100(>= 0)
MINI_BATCH_FRACTIONFrazione di dati da utilizzare in mini-batch durante l’apprendimento. Deve essere compreso nell'intervallo (0, 1].1,00 < valore <= 1
REG_PARAMIl parametro di regolarizzazione, che consente di controllare la complessità del modello e di evitare l'adattamento eccessivo.0,0(>= 0)
SEEDValore di inizializzazione casuale per il controllo dei processi casuali nell'algoritmo.N/DQualsiasi numero a 64 bit
SOLVERL’algoritmo del risolutore utilizzato per l’ottimizzazione. Le opzioni supportate sono gd (discendenza sfumata) e adamW."adamW"gd, adamW
STEP_SIZEDimensione del passaggio iniziale per l’ottimizzazione, spesso interpretata come tasso di apprendimento.1,0> 0
PROBABILITY_COLNome di colonna per le probabilità condizionali di classe previste. Nota: non tutti i modelli generano probabilità ben calibrate; queste dovrebbero essere trattate come punteggi di affidabilità piuttosto che come probabilità esatte."probabilità"Qualsiasi stringa
PREDICTION_COLNome di colonna per le etichette di classe previste."previsione"Qualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
ONE_VS_RESTSpecifica se abilitare One-vs-Rest per la classificazione in più classi.FALSEtrue, false

Esempio

CREATE MODEL modelname OPTIONS(
  type = 'factorization_machines_classifier'
) AS
  SELECT col1, col2, col3 FROM training-dataset

Gradient Boosted Tree Classifier

Gradient Boosted Tree Classifier utilizza un insieme di strutture decisionali per migliorare la precisione delle attività di classificazione, combinando più strutture per migliorare le prestazioni del modello.

Parametri

La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Gradient Boosted Tree Classifier.

ParametroDescrizioneValore predefinitoValori possibili
MAX_BINSIl numero massimo di raccoglitori determina il modo in cui le feature continue vengono suddivise in intervalli discreti. Questo influisce sul modo in cui le funzioni vengono suddivise in ciascun nodo della struttura decisionale. Più contenitori forniscono maggiore granularità.32Deve essere almeno 2 e uguale o maggiore del numero di categorie in qualsiasi caratteristica categoriale.
CACHE_NODE_IDSSe false, l'algoritmo passa gli alberi agli esecutori per far corrispondere le istanze con i nodi. Se true, l'algoritmo memorizza nella cache gli ID dei nodi per ogni istanza, velocizzando l'addestramento di strutture più profonde.falsetrue, false
CHECKPOINT_INTERVALSpecifica la frequenza di checkpoint per gli ID dei nodi memorizzati in cache. 10, ad esempio, indica che la cache viene sottoposta a checkpoint ogni 10 iterazioni.10(>= 1)
MAX_DEPTHProfondità massima dell'albero (non negativa). Ad esempio, profondità 0 significa 1 nodo foglia e profondità 1 significa 1 nodo interno e 2 nodi foglia.5(>= 0)
MIN_INFO_GAINIl guadagno minimo di informazioni necessario affinché una suddivisione possa essere considerata in un nodo della struttura.0,0(>= 0,0)
MIN_WEIGHT_FRACTION_PER_NODEFrazione minima del numero di campioni ponderati che ogni bambino deve avere dopo una divisione. Se una suddivisione fa sì che la frazione del peso totale in uno dei figli sia inferiore a questo valore, viene eliminata.0,0(>= 0,0, <= 0,5)
MIN_INSTANCES_PER_NODEIl numero minimo di istanze che ogni figlio deve avere dopo una suddivisione. Se una suddivisione genera un numero di istanze inferiore a questo valore, la suddivisione viene eliminata.1(>= 1)
MAX_MEMORY_IN_MBMemoria massima, in MB, allocata all'aggregazione dell'istogramma. Se questo valore è troppo piccolo, viene diviso solo 1 nodo per iterazione e i relativi aggregati possono superare queste dimensioni.256(>= 0)
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa
VALIDATION_INDICATOR_COLIl nome della colonna indica se ogni riga viene utilizzata per l’apprendimento o la convalida. Il valore false indica l'addestramento, mentre true indica la convalida. Se non viene impostato alcun valore, il valore predefinito è None.“Nessuno”Qualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
LEAF_COLIl nome della colonna per gli indici foglia, che è l'indice foglia previsto di ogni istanza in ogni albero, generato dall'attraversamento del preordine.""Qualsiasi stringa
FEATURE_SUBSET_STRATEGYIl numero di feature considerate per la suddivisione in ciascun nodo della struttura. Opzioni supportate: auto (determinata automaticamente in base all'attività), all (utilizza tutte le funzionalità), onethird (utilizza un terzo delle funzionalità), sqrt (utilizza la radice quadrata del numero di funzionalità), log2 (utilizza il logaritmo base 2 del numero di funzionalità) e n (dove n è una frazione delle funzionalità se nell'intervallo (0, 1] o un numero specifico di funzionalità se nell'intervallo [1, total number of features])."auto"auto, all, onethird, sqrt, log2, n
WEIGHT_COLIl nome della colonna, ad esempio pesi. Se non è impostato o vuoto, tutti i pesi delle istanze vengono trattati come 1.0.NON IMPOSTATOQualsiasi stringa
LOSS_TYPEFunzione di perdita che il modello Gradient Boosted Tree tenta di ridurre a icona."logistico"logistic (senza distinzione maiuscole/minuscole)
STEP_SIZEDimensione del passaggio (nota anche come tasso di apprendimento) nell'intervallo (0, 1], utilizzata per ridurre il contributo di ogni stimatore.0,1(>= 0,0, <= 1)
MAX_ITERIl numero massimo di iterazioni per l’algoritmo.20(>= 0)
SUBSAMPLING_RATEFrazione di dati di addestramento utilizzata per addestrare ogni albero decisionale. Il valore deve essere compreso nell'intervallo 0 < valore <= 1.1,0(0, 1]
PROBABILITY_COLNome di colonna per le probabilità condizionali di classe previste. Nota: non tutti i modelli generano probabilità ben calibrate; queste dovrebbero essere trattate come punteggi di affidabilità piuttosto che come probabilità esatte."probabilità"Qualsiasi stringa
ONE_VS_RESTAbilita o disabilita il wrapping di questo algoritmo con One-vs-Rest per la classificazione in più classi.falsetrue, false

Esempio

Create MODEL modelname OPTIONS(
  type = 'gradient_boosted_tree_classifier'
) AS
  select col1, col2, col3 from training-dataset

Linear Support Vector Classifier (SVC lineare)

Linear Support Vector Classifier (LinearSVC) costruisce un iperpiano per classificare i dati in uno spazio ad alta dimensione. Puoi utilizzarlo per massimizzare il margine tra le classi al fine di ridurre al minimo gli errori di classificazione.

Parametri

La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Linear Support Vector Classifier (LinearSVC).

ParametroDescrizioneValore predefinitoValori possibili
MAX_ITERIl numero massimo di iterazioni per l’algoritmo da eseguire.100(>= 0)
AGGREGATION_DEPTHProfondità dell'aggregazione ad albero. Questo parametro viene utilizzato per ridurre il sovraccarico delle comunicazioni di rete.2Qualsiasi numero intero positivo
FIT_INTERCEPTSe adattare un termine di intercettazione.truetrue, false
TOLQuesto parametro determina la soglia per l’interruzione delle iterazioni.1E-6(>= 0)
MAX_BLOCK_SIZE_IN_MBMemoria massima in MB per lo stacking dei dati di input in blocchi. Se il parametro è impostato su 0, il valore ottimale viene scelto automaticamente (in genere circa 1 MB).0,0(>= 0)
REG_PARAMIl parametro di regolarizzazione, che consente di controllare la complessità del modello e di evitare l'adattamento eccessivo.0,0(>= 0)
STANDARDIZATIONQuesto parametro indica se standardizzare le feature di addestramento prima di adattare il modello.truetrue, false
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
ONE_VS_RESTAbilita o disabilita il wrapping di questo algoritmo con One-vs-Rest per la classificazione in più classi.falsetrue, false

Esempio

Create MODEL modelname OPTIONS(
  type = 'linear_svc_classifier'
) AS
  select col1, col2, col3 from training-dataset

Logistic Regression

Logistic Regression è un algoritmo supervisionato utilizzato per le attività di classificazione binaria. Modella la probabilità che un’istanza appartenga a una classe utilizzando la funzione logistica e assegna l’istanza alla classe con la probabilità più elevata. Questo lo rende adatto a problemi in cui l’obiettivo è quello di separare i dati in una di due categorie.

Parametri

La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Logistic Regression.

ParametroDescrizioneValore predefinitoValori possibili
MAX_ITERNumero massimo di iterazioni eseguite dall'algoritmo.100(>= 0)
REGPARAMIl parametro di regolarizzazione viene utilizzato per controllare la complessità del modello.0,0(>= 0)
ELASTICNETPARAMIl parametro di combinazione ElasticNet controlla il saldo tra le penalità L1 (Lazo) e L2 (Ridge). Un valore pari a 0 applica una penalità L2 (Ridge, che riduce la dimensione dei coefficienti), mentre un valore pari a 1 applica una penalità L1 (Lasso, che incoraggia la sparsità impostando alcuni coefficienti a zero).0,0(>= 0, <= 1)

Esempio

Create MODEL modelname OPTIONS(
  type = 'logistic_reg'
) AS
  select col1, col2, col3 from training-dataset

Multilayer Perceptron Classifier

Multilayer Perceptron Classifier (MLPC) è un classificatore di rete neurale artificiale di avanzamento. È costituito da più livelli completamente connessi di nodi, dove ogni nodo applica una combinazione lineare ponderata di input, seguita da una funzione di attivazione. MLPC viene utilizzato per attività di classificazione complesse che richiedono limiti di decisione non lineari.

Parametri

ParametroDescrizioneValore predefinitoValori possibili
MAX_ITERIl numero massimo di iterazioni per l’algoritmo da eseguire.100(>= 0)
BLOCK_SIZEDimensione del blocco per lo stacking dei dati di input nelle matrici all'interno delle partizioni. Se la dimensione del blocco supera i dati rimanenti in una partizione, viene regolata di conseguenza.128(>= 0)
STEP_SIZEDimensione del passaggio utilizzata per ogni iterazione di ottimizzazione (applicabile solo per il risolutore gd).0,03(> 0)
TOLLa tolleranza di convergenza per l'ottimizzazione.1E-6(>= 0)
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa
SEEDValore di inizializzazione casuale per il controllo dei processi casuali nell'algoritmo.NON IMPOSTATOQualsiasi numero a 64 bit
PROBABILITY_COLNome di colonna per le probabilità condizionali di classe previste. Questi devono essere trattati come punteggi di affidabilità piuttosto che come probabilità esatte."probabilità"Qualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
ONE_VS_RESTAbilita o disabilita il wrapping di questo algoritmo con One-vs-Rest per la classificazione in più classi.falsetrue, false

Esempio

CREATE MODEL modelname OPTIONS(
  type = 'multilayer_perceptron_classifier'
) AS
  select col1, col2, col3 from training-dataset

Naive Bayes Classifier

Naive Bayes Classifier è un semplice classificatore probabilistico e multiclasse basato sul teorema di Bayes con ipotesi di indipendenza forte (naive) tra le feature. Si addestra in modo efficiente calcolando le probabilità condizionali in un singolo passaggio sui dati di addestramento per calcolare la distribuzione delle probabilità condizionali di ogni funzione data ogni etichetta. Per le previsioni, usa il teorema di Bayes per calcolare la distribuzione di probabilità condizionale di ogni etichetta data un'osservazione.

Parametri

ParametroDescrizioneValore predefinitoValori possibili
MODEL_TYPESpecifica il tipo di modello. Le opzioni supportate sono "multinomial", "complement", "bernoulli" e "gaussian". Il tipo di modello distingue tra maiuscole e minuscole."multinomiale""multinomial", "complement", "bernoulli", "gaussian"
SMOOTHINGIl parametro di uniformità viene utilizzato per gestire i problemi di frequenza zero nei dati categorici.1,0(>= 0)
PROBABILITY_COLQuesto parametro specifica il nome della colonna per le probabilità condizionali di classe previste. Nota: non tutti i modelli forniscono stime di probabilità ben calibrate; questi valori vengono considerati come attendibilità anziché come probabilità precise."probabilità"Qualsiasi stringa
WEIGHT_COLNome della colonna per i pesi dell’istanza. Se non è impostato o vuoto, tutti i pesi delle istanze vengono trattati come 1.0.NON IMPOSTATOQualsiasi stringa
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
ONE_VS_RESTSpecifica se abilitare One-vs-Rest per la classificazione in più classi.falsetrue, false

Esempio

CREATE MODEL modelname OPTIONS(
  type = 'naive_bayes_classifier'
) AS
  SELECT col1, col2, col3 FROM training-dataset

Random Forest Classifier

Random Forest Classifier è un algoritmo di apprendimento di gruppo che crea più strutture decisionali durante l'apprendimento. Attenua l’eccesso di adattamento calcolando la media delle previsioni e selezionando la classe scelta dalla maggior parte degli alberi per le attività di classificazione.

Parametri

ParametroDescrizioneValore predefinitoValori possibili
MAX_BINSIl numero massimo di raccoglitori determina il modo in cui le feature continue vengono suddivise in intervalli discreti. Questo influisce sul modo in cui le funzioni vengono suddivise in ciascun nodo della struttura decisionale. Più contenitori forniscono maggiore granularità.32Deve essere almeno 2 e uguale o maggiore del numero di categorie in qualsiasi caratteristica categoriale.
CACHE_NODE_IDSSe false, l'algoritmo passa gli alberi agli esecutori per far corrispondere le istanze con i nodi. Se true, l'algoritmo memorizza nella cache gli ID nodo per ogni istanza, velocizzando l'apprendimento.falsetrue, false
CHECKPOINT_INTERVALSpecifica la frequenza di checkpoint per gli ID dei nodi memorizzati in cache. 10, ad esempio, indica che la cache viene sottoposta a checkpoint ogni 10 iterazioni.10(>= 1)
IMPURITYIl criterio utilizzato per il calcolo dell’acquisizione di informazioni (senza distinzione tra maiuscole e minuscole).ginientropy, gini
MAX_DEPTHProfondità massima dell'albero (non negativa). Ad esempio, profondità 0 significa 1 nodo foglia e profondità 1 significa 1 nodo interno e 2 nodi foglia.5(>= 0)
MIN_INFO_GAINIl guadagno minimo di informazioni necessario affinché una suddivisione possa essere considerata in un nodo della struttura.0,0(>= 0,0)
MIN_WEIGHT_FRACTION_PER_NODEFrazione minima del numero di campioni ponderati che ogni bambino deve avere dopo una divisione. Se una suddivisione fa sì che la frazione del peso totale in uno dei figli sia inferiore a questo valore, viene eliminata.0,0(>= 0,0, <= 0,5)
MIN_INSTANCES_PER_NODEIl numero minimo di istanze che ogni figlio deve avere dopo una suddivisione. Se una suddivisione genera un numero di istanze inferiore a questo valore, la suddivisione viene eliminata.1(>= 1)
MAX_MEMORY_IN_MBMemoria massima, in MB, allocata all'aggregazione dell'istogramma. Se questo valore è troppo piccolo, viene diviso solo 1 nodo per iterazione e i relativi aggregati possono superare queste dimensioni.256(>= 1)
PREDICTION_COLNome della colonna per l’output di previsione."previsione"Qualsiasi stringa
WEIGHT_COLIl nome della colonna, ad esempio pesi. Se non è impostato o vuoto, tutti i pesi delle istanze vengono trattati come 1.0.NON IMPOSTATOQualsiasi nome di colonna valido o vuoto
SEEDValore di inizializzazione casuale utilizzato per controllare i processi casuali nell'algoritmo.-1689246527Qualsiasi numero a 64 bit
BOOTSTRAPSe i campioni di bootstrap vengono utilizzati durante la creazione di alberi.truetrue, false
NUM_TREESIl numero di alberi da addestrare. Se 1, non viene utilizzato alcun bootstrapping. Se maggiore di 1, viene applicato il bootstrapping.20(>= 1)
SUBSAMPLING_RATELa frazione dei dati di formazione utilizzati per imparare ogni albero decisionale.1,0(> 0, <= 1)
LEAF_COLIl nome della colonna per gli indici foglia, che contiene l'indice foglia previsto di ogni istanza in ogni albero per preordine.""Qualsiasi stringa
PROBABILITY_COLNome di colonna per le probabilità condizionali di classe previste. Questi devono essere trattati come punteggi di affidabilità piuttosto che come probabilità esatte.NON IMPOSTATOQualsiasi stringa
RAW_PREDICTION_COLNome della colonna per i valori di previsione non elaborati (noti anche come affidabilità)."rawPrediction"Qualsiasi stringa
ONE_VS_RESTSpecifica se abilitare One-vs-Rest per la classificazione in più classi.falsetrue, false

Esempio

Create MODEL modelname OPTIONS(
  type = 'random_forest_classifier'
) AS
  select col1, col2, col3 from training-dataset

Passaggi successivi

Dopo aver letto questo documento, ora sai come configurare e utilizzare vari algoritmi di classificazione. Quindi, consulta i documenti su regressione e clustering per ulteriori informazioni su altri tipi di modelli statistici avanzati.

Experience Platform