Algoritmi di classificazione classification-algorithms
Questo documento fornisce una panoramica dei vari algoritmi di classificazione, concentrandosi sulla loro configurazione, sui parametri chiave e sull’utilizzo pratico in modelli statistici avanzati. Gli algoritmi di classificazione vengono utilizzati per assegnare categorie ai punti dati in base alle funzioni di input. Ogni sezione include descrizioni dei parametri e codice di esempio per implementare e ottimizzare questi algoritmi per attività quali alberi delle decisioni, foresta casuale e classificazione Bayes naive.
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier è un approccio di apprendimento supervisionato utilizzato in statistica, data mining e machine learning. In questo approccio, un albero decisionale viene utilizzato come modello predittivo per le attività di classificazione, traendo conclusioni da una serie di osservazioni.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Decision Tree Classifier.
MAX_BINSCACHE_NODE_IDSfalse, 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, falseCHECKPOINT_INTERVAL10, ad esempio, indica che la cache viene sottoposta a checkpoint ogni 10 iterazioni.IMPURITYentropy, giniMAX_DEPTH0 significa 1 nodo foglia e profondità 1 significa 1 nodo interno e 2 nodi foglia.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLSEEDWEIGHT_COL1.0.ONE_VS_RESTfalsetrue, falseEsempio
Create MODEL modelname OPTIONS(
type = 'decision_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Factorization Machine Classifier 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.
TOL1E-6FACTOR_SIZEFIT_INTERCEPTtruetrue, falseFIT_LINEARtruetrue, falseINIT_STDMAX_ITERMINI_BATCH_FRACTION(0, 1].REG_PARAMSEEDSOLVERgd (discendenza sfumata) e adamW.gd, adamWSTEP_SIZEPROBABILITY_COLPREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTtrue, falseEsempio
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Gradient Boosted Tree Classifier 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.
MAX_BINSCACHE_NODE_IDSfalse, 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, falseCHECKPOINT_INTERVAL10, ad esempio, indica che la cache viene sottoposta a checkpoint ogni 10 iterazioni.MAX_DEPTH0 significa 1 nodo foglia e profondità 1 significa 1 nodo interno e 2 nodi foglia.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLVALIDATION_INDICATOR_COLfalse indica l'addestramento, mentre true indica la convalida. Se non viene impostato alcun valore, il valore predefinito è None.RAW_PREDICTION_COLLEAF_COLFEATURE_SUBSET_STRATEGYauto (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, all, onethird, sqrt, log2, nWEIGHT_COL1.0.LOSS_TYPElogistic (senza distinzione maiuscole/minuscole)STEP_SIZE(0, 1], utilizzata per ridurre il contributo di ogni stimatore.MAX_ITERSUBSAMPLING_RATE(0, 1]PROBABILITY_COLONE_VS_RESTfalsetrue, falseEsempio
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
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).
MAX_ITERAGGREGATION_DEPTHFIT_INTERCEPTtruetrue, falseTOLMAX_BLOCK_SIZE_IN_MB0, il valore ottimale viene scelto automaticamente (in genere circa 1 MB).REG_PARAMSTANDARDIZATIONtruetrue, falsePREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseEsempio
Create MODEL modelname OPTIONS(
type = 'linear_svc_classifier'
) AS
select col1, col2, col3 from training-dataset
Logistic Regression 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.
MAX_ITERREGPARAMELASTICNETPARAMElasticNet 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).Esempio
Create MODEL modelname OPTIONS(
type = 'logistic_reg'
) AS
select col1, col2, col3 from training-dataset
Multilayer Perceptron Classifier 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
MAX_ITERBLOCK_SIZESTEP_SIZEgd).TOL1E-6PREDICTION_COLSEEDPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseEsempio
CREATE MODEL modelname OPTIONS(
type = 'multilayer_perceptron_classifier'
) AS
select col1, col2, col3 from training-dataset
Naive Bayes Classifier 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
MODEL_TYPE"multinomial", "complement", "bernoulli" e "gaussian". Il tipo di modello distingue tra maiuscole e minuscole."multinomial", "complement", "bernoulli", "gaussian"SMOOTHINGPROBABILITY_COLWEIGHT_COL1.0.PREDICTION_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseEsempio
CREATE MODEL modelname OPTIONS(
type = 'naive_bayes_classifier'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Classifier 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
MAX_BINSCACHE_NODE_IDSfalse, 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, falseCHECKPOINT_INTERVAL10, ad esempio, indica che la cache viene sottoposta a checkpoint ogni 10 iterazioni.IMPURITYentropy, giniMAX_DEPTH0 significa 1 nodo foglia e profondità 1 significa 1 nodo interno e 2 nodi foglia.MIN_INFO_GAINMIN_WEIGHT_FRACTION_PER_NODEMIN_INSTANCES_PER_NODEMAX_MEMORY_IN_MBPREDICTION_COLWEIGHT_COL1.0.SEEDBOOTSTRAPtruetrue, falseNUM_TREES1, non viene utilizzato alcun bootstrapping. Se maggiore di 1, viene applicato il bootstrapping.SUBSAMPLING_RATELEAF_COLPROBABILITY_COLRAW_PREDICTION_COLONE_VS_RESTfalsetrue, falseEsempio
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.