Algoritmos de clasificación classification-algorithms
Este documento proporciona una visión general de varios algoritmos de clasificación, centrándose en su configuración, parámetros clave y uso práctico en modelos estadísticos avanzados. Los algoritmos de clasificación se utilizan para asignar categorías a puntos de datos en función de las funciones de entrada. Cada sección incluye descripciones de parámetros y código de ejemplo para ayudarle a implementar y optimizar estos algoritmos para tareas como árboles de decisión, bosques aleatorios y clasificaciones nativas de Bayes.
Decision Tree Classifier decision-tree-classifier
Decision Tree Classifier es un enfoque de aprendizaje supervisado que se utiliza en estadísticas, minería de datos y aprendizaje automático. En este enfoque, se utiliza un árbol de decisión como modelo predictivo para tareas de clasificación, sacando conclusiones de un conjunto de observaciones.
Parámetros
En la tabla siguiente se describen los parámetros clave para configurar y optimizar el rendimiento de Decision Tree Classifier.
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia, lo que acelera la formación de árboles más profundos.false
true
, false
CHECKPOINT_INTERVAL
10
significa que la caché se comprueba cada 10 iteraciones.IMPURITY
entropy
, gini
MAX_DEPTH
0
significa 1 nodo hoja y la profundidad 1
significa 1 nodo interno y 2 nodos hoja.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
SEED
WEIGHT_COL
1.0
.ONE_VS_REST
false
true
, false
Ejemplo
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 es un algoritmo de clasificación que admite el descenso de degradado normal y el solucionador AdamW. El modelo de clasificación de la máquina de factorización utiliza la pérdida logística, que puede optimizarse a través del descenso de gradiente, y a menudo incluye términos de regularización como L2 para evitar el sobreajuste.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Factorization Machine Classifier.
TOL
1E-6
FACTOR_SIZE
FIT_INTERCEPT
true
true
, false
FIT_LINEAR
true
true
, false
INIT_STD
MAX_ITER
MINI_BATCH_FRACTION
(0, 1]
.REG_PARAM
SEED
SOLVER
gd
(pendiente de degradado) y adamW
.gd
, adamW
STEP_SIZE
PROBABILITY_COL
PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
true
, false
Ejemplo
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 utiliza un conjunto de árboles de decisión para mejorar la precisión de las tareas de clasificación, combinando varios árboles para mejorar el rendimiento del modelo.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Gradient Boosted Tree Classifier.
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia, lo que acelera la formación de árboles más profundos.false
true
, false
CHECKPOINT_INTERVAL
10
significa que la caché se comprueba cada 10 iteraciones.MAX_DEPTH
0
significa 1 nodo hoja y la profundidad 1
significa 1 nodo interno y 2 nodos hoja.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
VALIDATION_INDICATOR_COL
false
indica aprendizaje y true
indica validación. Si no se establece un valor, el valor predeterminado es None
.RAW_PREDICTION_COL
LEAF_COL
FEATURE_SUBSET_STRATEGY
auto
(determinado automáticamente en función de la tarea), all
(usar todas las características), onethird
(usar un tercio de las características), sqrt
(usar la raíz cuadrada del número de características), log2
(usar el logaritmo en base 2 del número de características) y n
(donde n es una fracción de las características si se encuentra en el intervalo (0, 1]
o un número específico de características si se encuentra en el intervalo [1, total number of features]
).auto
, all
, onethird
, sqrt
, log2
, n
WEIGHT_COL
1.0
.LOSS_TYPE
logistic
(sin distinción de mayúsculas y minúsculas)STEP_SIZE
(0, 1]
, utilizado para reducir la contribución de cada estimador.MAX_ITER
SUBSAMPLING_RATE
(0, 1]
PROBABILITY_COL
ONE_VS_REST
false
true
, false
Ejemplo
Create MODEL modelname OPTIONS(
type = 'gradient_boosted_tree_classifier'
) AS
select col1, col2, col3 from training-dataset
Linear Support Vector Classifier (LinearSVC) linear-support-vector-classifier
Linear Support Vector Classifier (LinearSVC) construye un hiperplano para clasificar los datos en un espacio de alta dimensión. Puede utilizarlo para maximizar el margen entre clases y minimizar los errores de clasificación.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Linear Support Vector Classifier (LinearSVC).
MAX_ITER
AGGREGATION_DEPTH
FIT_INTERCEPT
true
true
, false
TOL
MAX_BLOCK_SIZE_IN_MB
0
, el valor óptimo se elige automáticamente (normalmente, alrededor de 1 MB).REG_PARAM
STANDARDIZATION
true
true
, false
PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
, false
Ejemplo
Create MODEL modelname OPTIONS(
type = 'linear_svc_classifier'
) AS
select col1, col2, col3 from training-dataset
Logistic Regression logistic-regression
Logistic Regression es un algoritmo supervisado que se usa para tareas de clasificación binaria. Modela la probabilidad de que una instancia pertenezca a una clase utilizando la función logística y asigna la instancia a la clase con la mayor probabilidad. Esto la hace adecuada para problemas en los que el objetivo es separar los datos en una de dos categorías.
Parámetros
La tabla siguiente describe los parámetros clave para configurar y optimizar el rendimiento de Logistic Regression.
MAX_ITER
REGPARAM
ELASTICNETPARAM
ElasticNet
controla el equilibrio entre las penalizaciones L1 (Lasso) y L2 (Ridge). Un valor de 0 aplica una penalización L2 (Cresta, que reduce el tamaño de los coeficientes), mientras que un valor de 1 aplica una penalización L1 (Lasso, que fomenta la dispersión al establecer algunos coeficientes en cero).Ejemplo
Create MODEL modelname OPTIONS(
type = 'logistic_reg'
) AS
select col1, col2, col3 from training-dataset
Multilayer Perceptron Classifier multilayer-perceptron-classifier
El Multilayer Perceptron Classifier (MLPC) es un clasificador de red neuronal artificial avanzado. Consiste en múltiples capas de nodos totalmente conectados, donde cada nodo aplica una combinación lineal ponderada de entradas, seguida de una función de activación. MLPC se utiliza para tareas de clasificación complejas que requieren límites de decisión no lineales.
Parámetros
MAX_ITER
BLOCK_SIZE
STEP_SIZE
gd
).TOL
1E-6
PREDICTION_COL
SEED
PROBABILITY_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
, false
Ejemplo
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 es un clasificador probabilístico simple multiclase basado en el teorema de Bayes con suposiciones de independencia fuertes (ingenuas) entre características. Entrena de forma eficiente calculando las probabilidades condicionales en un solo paso sobre los datos de formación para calcular la distribución de probabilidad condicional de cada función dada a cada etiqueta. Para las predicciones, utiliza el teorema de Bayes para calcular la distribución de probabilidad condicional de cada etiqueta dada una observación.
Parámetros
MODEL_TYPE
"multinomial"
, "complement"
, "bernoulli"
y "gaussian"
. El tipo de modelo distingue entre mayúsculas y minúsculas."multinomial"
, "complement"
, "bernoulli"
, "gaussian"
SMOOTHING
PROBABILITY_COL
WEIGHT_COL
1.0
.PREDICTION_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
, false
Ejemplo
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 es un algoritmo de aprendizaje conjunto que crea varios árboles de decisión durante la formación. Mitiga el sobreajuste promediando las predicciones y seleccionando la clase elegida por la mayoría de los árboles para las tareas de clasificación.
Parámetros
MAX_BINS
CACHE_NODE_IDS
false
, el algoritmo pasa árboles a los ejecutores para que coincidan con las instancias con los nodos. Si true
, el algoritmo almacena en caché los ID de nodo de cada instancia, lo que acelera la formación.false
true
, false
CHECKPOINT_INTERVAL
10
significa que la caché se comprueba cada 10 iteraciones.IMPURITY
entropy
, gini
MAX_DEPTH
0
significa 1 nodo hoja y la profundidad 1
significa 1 nodo interno y 2 nodos hoja.MIN_INFO_GAIN
MIN_WEIGHT_FRACTION_PER_NODE
MIN_INSTANCES_PER_NODE
MAX_MEMORY_IN_MB
PREDICTION_COL
WEIGHT_COL
1.0
.SEED
BOOTSTRAP
true
true
, false
NUM_TREES
1
, no se usa el bootstrapping. Si es mayor que 1
, se aplica el bootstrapping.SUBSAMPLING_RATE
LEAF_COL
PROBABILITY_COL
RAW_PREDICTION_COL
ONE_VS_REST
false
true
, false
Ejemplo
Create MODEL modelname OPTIONS(
type = 'random_forest_classifier'
) AS
select col1, col2, col3 from training-dataset
Pasos siguientes
Después de leer este documento, ahora sabe cómo configurar y utilizar varios algoritmos de clasificación. A continuación, consulte los documentos sobre regresión y agrupación en clúster para obtener más información sobre otros tipos de modelos estadísticos avanzados.