Algoritmi di regressione regression-algorithms
Questo documento fornisce una panoramica di vari algoritmi di regressione, concentrandosi sulla loro configurazione, sui parametri chiave e sull’utilizzo pratico in modelli statistici avanzati. Gli algoritmi di regressione sono utilizzati per modellare la relazione tra variabili dipendenti e indipendenti, predicendo risultati continui sulla base dei dati osservati. Ogni sezione include descrizioni dei parametri e codice di esempio per implementare e ottimizzare questi algoritmi per attività quali la regressione lineare, casuale e di sopravvivenza.
Regressione di Decision Tree decision-tree-regression
L'apprendimento di Decision Tree è un metodo di apprendimento supervisionato utilizzato in statistica, data mining e machine learning. In questo approccio, un albero decisionale di classificazione o regressione è utilizzato come modello predittivo per trarre conclusioni su una serie di osservazioni.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l’ottimizzazione delle prestazioni dei modelli dell’albero decisionale.
MAX_BINS
CACHE_NODE_IDS
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, in modo da velocizzare l'addestramento degli alberi più profondi. Gli utenti possono configurare la frequenza di checkpoint della cache o disabilitarla impostando CHECKPOINT_INTERVAL
.true
o false
CHECKPOINT_INTERVAL
10
, la cache verrà sottoposta a checkpoint ogni 10 iterazioni. Applicabile solo se CACHE_NODE_IDS
è impostato su true
e la directory del punto di controllo è configurata in org.apache.spark.SparkContext
.IMPURITY
entropy
e gini
.gini
entropy
, gini
MAX_DEPTH
0
significa 1 nodo foglia, mentre una profondità di 1
significa 1 nodo interno e 2 nodi foglia. La profondità deve essere compresa nell'intervallo [0, 30]
.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
SEED
WEIGHT_COL
1.0
.Esempio
CREATE MODEL modelname OPTIONS(
type = 'decision_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressione di Factorization Machines factorization-machines-regression
Factorization Machines è un algoritmo di apprendimento della regressione che supporta la normale discesa con gradiente e il risolutore AdamW. L'algoritmo si basa sul documento di S. Rendle (2010), "Factorization Machines".
Parametri
La tabella seguente descrive i parametri chiave per configurare e ottimizzare le prestazioni della regressione di Factorization Machines.
TOL
1E-6
FACTOR_SIZE
FIT_INTERCEPT
true
true
, false
FIT_LINEAR
true
true
, false
INIT_STD
MAX_ITER
MINI_BATCH_FRACTION
(0, 1]
.(0, 1]
REG_PARAM
SEED
SOLVER
gd
(discendenza sfumatura), adamW
STEP_SIZE
PREDICTION_COL
Esempio
CREATE MODEL modelname OPTIONS(
type = 'factorization_machines_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressione di Generalized Linear generalized-linear-regression
A differenza della regressione lineare, che presuppone che il risultato segua una distribuzione normale (gaussiana), i modelli Generalized Linear (GLM) consentono al risultato di seguire diversi tipi di distribuzioni, come Poisson o binomiale, a seconda della natura dei dati.
Parametri
La tabella seguente descrive i parametri chiave per configurare e ottimizzare le prestazioni della regressione di Generalized Linear.
MAX_ITER
irls
).REG_PARAM
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
.FAMILY
gaussian
, binomial
, poisson
, gamma
e tweedie
.gaussian
, binomial
, poisson
, gamma
, tweedie
FIT_INTERCEPT
true
true
, false
LINK
identity
, log
, inverse
, logit
, probit
, cloglog
e sqrt
.identity
, log
, inverse
, logit
, probit
, cloglog
, sqrt
LINK_POWER
1 - variancePower
, che viene allineato con il pacchetto R statmod
. Le potenze di collegamento specifiche di 0, 1, -1 e 0,5 corrispondono rispettivamente ai collegamenti Log, Identity, Inverse e Sqrt.SOLVER
irls
(riponderazione iterativa dei minimi quadrati).irls
VARIANCE_POWER
[1, inf)
. Le potenze di varianza di 0, 1 e 2 corrispondono rispettivamente alle famiglie Gaussian, Poisson e Gamma.[1, inf)
LINK_PREDICTION_COL
OFFSET_COL
WEIGHT_COL
1.0
. Nella famiglia Binomial, i pesi corrispondono al numero di prove e i pesi non interi sono arrotondati nel calcolo dell’AIC.Esempio
CREATE MODEL modelname OPTIONS(
type = 'generalized_linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressione di Gradient Boosted Tree gradient-boosted-tree-regression
Gli alberi potenziati dal gradiente (Gradient Boosted Tree, GBT) sono un metodo efficace per la classificazione e la regressione che combina le previsioni di più alberi decisionali per migliorare l'accuratezza predittiva e le prestazioni del modello.
Parametri
La tabella seguente descrive i parametri chiave per configurare e ottimizzare le prestazioni della regressione di Gradient Boosted Tree.
MAX_BINS
CACHE_NODE_IDS
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. La memorizzazione nella cache può accelerare l'apprendimento degli alberi più profondi.false
true
, false
CHECKPOINT_INTERVAL
10
significa che la cache viene sottoposta a checkpoint ogni 10 iterazioni.MAX_DEPTH
0
significa 1 nodo foglia e profondità 1
significa 1 nodo interno con 2 nodi foglia.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
VALIDATION_INDICATOR_COL
false
per la formazione e true
per la convalida.LEAF_COL
FEATURE_SUBSET_STRATEGY
auto
, all
, onethird
, sqrt
, log2
o una frazione compresa tra 0 e 1,0SEED
WEIGHT_COL
1.0
.LOSS_TYPE
squared
(L2) e absolute
(L1). Nota: i valori non fanno distinzione tra maiuscole e minuscole.STEP_SIZE
(0, 1]
, utilizzata per ridurre il contributo di ogni stimatore.(0, 1]
MAX_ITER
SUBSAMPLING_RATE
(0, 1]
.(0, 1]
Esempio
CREATE MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressione di Isotonic isotonic-regression
Isotonic Regression è un algoritmo utilizzato per regolare iterativamente le distanze mantenendo l'ordine relativo delle differenze nei dati.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Isotonic Regression.
ISOTONIC
true
o antitonica (decrescente) quando false
.true
true
, false
WEIGHT_COL
1.0
.PREDICTION_COL
FEATURE_INDEX
featuresCol
è una colonna vettoriale. Se non viene impostato, il valore predefinito è 0
. In caso contrario, non ha alcun effetto.Esempio
CREATE MODEL modelname OPTIONS(
type = 'isotonic_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Regressione di Linear linear-regression
Linear Regression è un algoritmo di machine learning supervisionato che inserisce un'equazione lineare ai dati per modellare la relazione tra una variabile dipendente e funzionalità indipendenti.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Linear Regression.
MAX_ITER
REGPARAM
ELASTICNETPARAM
Esempio
CREATE MODEL modelname OPTIONS(
type = 'linear_reg'
) AS
SELECT col1, col2, col3 FROM training-dataset
Random Forest Regression random-forest-regression
Random Forest Regression è un algoritmo di insieme che crea più alberi decisionali durante l'addestramento e restituisce la previsione media di tali alberi per le attività di regressione, contribuendo a evitare l'adattamento eccessivo.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Random Forest Regression.
MAX_BINS
CACHE_NODE_IDS
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.false
true
, false
CHECKPOINT_INTERVAL
10
significa che la cache viene sottoposta a checkpoint ogni 10 iterazioni.IMPURITY
entropy
, gini
MAX_DEPTH
0
significa 1 nodo foglia e profondità 1
significa 1 nodo interno e 2 nodi foglia.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
BOOTSTRAP
true
, false
NUM_TREES
1
, non viene utilizzato alcun bootstrapping. Se maggiore di 1
, viene applicato il bootstrapping.SUBSAMPLING_RATE
(0, 1]
.LEAF_COL
PREDICTION_COL
SEED
WEIGHT_COL
1.0
.Esempio
CREATE MODEL modelname OPTIONS(
type = 'random_forest_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Survival Regression survival-regression
Survival Regression viene utilizzato per adattarsi a un modello di regressione di sopravvivenza parametrica, noto come modello Accelerated Failure Time (AFT), basato su Weibull distribution. Può impilare le istanze in blocchi per migliorare le prestazioni.
Parametri
La tabella seguente illustra i parametri chiave per la configurazione e l'ottimizzazione delle prestazioni di Survival Regression.
MAX_ITER
TOL
1E-6
AGGREGATION_DEPTH
treeAggregate
. Se le quote della feature o il numero di partizioni sono elevati, questo parametro può essere impostato su un valore maggiore.FIT_INTERCEPT
true
, false
PREDICTION_COL
CENSOR_COL
1
indica che l'evento si è verificato (non censurato), mentre 0
indica che l'evento è censurato.MAX_BLOCK_SIZE_IN_MB
0
consente la regolazione automatica.Esempio
CREATE MODEL modelname OPTIONS(
type = 'survival_regression'
) AS
SELECT col1, col2, col3 FROM training-dataset
Passaggi successivi
Dopo aver letto questo documento, ora sai come configurare e utilizzare vari algoritmi di regressione. Quindi, consulta i documenti su classificazione e clustering per ulteriori informazioni su altri tipi di modelli statistici avanzati.