--- title: "Algoritmos de Clasificación" url: https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/classification-algorithms/ description: "QuickML is a fully no-code ML pipeline builder service in the Catalyst development platform for creating machine-learning pipelines with end-to-end solutions." last_updated: 2026-03-24T12:08:39Z service: QuickML type: general --- # Algoritmos de ML en QuickML QuickML se centra principalmente en potenciar los Pipelines de ML con Operaciones de Machine Learning de manera sencilla para proporcionar un entorno de ejecución de pipeline fluido. Por lo tanto, se ha integrado con una amplia gama de algoritmos y características de ML para proporcionar los mejores resultados analíticos a partir de los datos. Los algoritmos de ML son programas que pueden aprender de los datos y mejorar con la experiencia, sin ninguna intervención externa. Los siguientes algoritmos y operaciones están todos disponibles en **QuickML como etapas** que pueden configurarse en una o más ejecuciones de pipeline. Los algoritmos más ampliamente utilizados en el dominio de la ciencia de datos son: 1. **Algoritmos de clasificación** 2. **Algoritmos de regresión** # Algoritmos de Clasificación La clasificación es la tarea de predecir una etiqueta de clase discreta. QuickML cuenta con los siguientes algoritmos de clasificación 1. ### AdaBoost Classification AdaBoost es un algoritmo de aprendizaje automático que construye una serie de árboles de decisión pequeños, de un solo paso (un nivel), adaptando cada árbol para predecir casos difíciles omitidos por los árboles anteriores y combinando todos los árboles en un solo modelo. Esta clasificación comienza ajustando un clasificador en el conjunto de datos original, seguido de copias adicionales del clasificador en el mismo conjunto de datos. Los pesos de estas instancias se ajustan según el error de la predicción actual. De modo que los clasificadores subsiguientes se centran más en los casos difíciles. #### Hiperparámetros:
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `base_estimator` | El estimador base a partir del cual se construye el conjunto potenciado. Si es none, entonces el estimador base es `DecisionTreeClassifier` inicializado con **max_depth=1**. | object | Cualquier modelo de clasificación excepto el modelo KNN Classification | None |
| `n_estimators` (number of estimators) | El número máximo de estimadores en los que se termina el boosting. En caso de ajuste perfecto, el procedimiento de aprendizaje se detiene anticipadamente. | int | [1, 500] | 50 |
| `learning_rate` | Peso aplicado a cada clasificador en cada iteración de boosting. Una tasa de aprendizaje más alta aumenta la contribución de cada clasificador. | float | (0.0, +Inf) | 1.0 |
| `algorithm` | Si es 'SAMME.R' entonces usa el algoritmo de boosting real SAMME.R. base_estimator debe soportar el cálculo de probabilidades de clase. Si es 'SAMME' entonces usa el algoritmo de boosting discreto SAMME. El algoritmo SAMME.R típicamente converge más rápido que SAMME, logrando un menor error de prueba con menos iteraciones de boosting. | string | {'SAMME', 'SAMME.R'} | 'SAMME.R' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `learning_rate` | Se utiliza para reducir el paso del gradiente. | float | (0,1] | 0.03 |
| `l2_leaf_reg` (l2_leaf_regularization) | Coeficiente del término de regularización L2 de la función de costo. | float | [0,+inf) | 3.0 |
| `rsm` (random subspace method) | El porcentaje de características a usar en cada selección de división, cuando las características se seleccionan nuevamente de forma aleatoria | float | (0,1] | None |
| `loss_function` | La métrica a usar en el entrenamiento. El valor especificado también determina el problema de aprendizaje automático a resolver. Algunas métricas soportan parámetros opcionales. | string | {'Logloss', 'CrossEntropy', 'MultiClass', 'MultiClassOneVsAll'} | 'MultiClass' |
| `nan_mode` | El método para procesar valores faltantes en el conjunto de datos de entrada. | string | {'Forbidden', 'Min', 'Max'} | Min |
| `leaf_estimation_method` | El método utilizado para calcular los valores en las hojas. | string | {"Newton", "Gradient"} | None |
| `score_function` | El tipo de puntuación utilizado para seleccionar la siguiente división durante la construcción del árbol. | string | {L2, Cosine} | Cosine |
| `max_depth` | Profundidad máxima del árbol. | int | [1,+Inf) | None |
| `n_estimators` (number of estimators) | El número máximo de árboles que se pueden construir al resolver problemas de aprendizaje automático. Al usar otros parámetros que limitan el número de iteraciones, el número final de árboles puede ser menor que el número especificado en este parámetro | int | [1, 500] | None |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `criterion` | La función para medir la calidad de una división. | string | {"gini", "entropy"} | "gini" |
| `splitter` | La estrategia utilizada para elegir la división en cada nodo. | string | {"best", "random"} | "best" |
| `max_depth` | La profundidad máxima del árbol. Si es None, entonces los nodos se expanden hasta que todas las hojas sean puras o hasta que todas las hojas contengan menos de min_samples_split muestras. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno. | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. Un punto de división en cualquier profundidad solo se considerará si deja al menos min_samples_leaf muestras de entrenamiento en cada una de las ramas izquierda y derecha. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. | float | [0, 0.5] | 0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt", "log2"} | None |
| `max_leaf_nodes` | Hacer crecer un árbol con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. Si es None, entonces número ilimitado de nodos hoja. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `loss` | La función de pérdida a optimizar. 'deviance' se refiere a la desviación (= regresión logística) para clasificación con salidas probabilísticas. | string | {'deviance', 'exponential'} | 'deviance' |
| `learning_rate` | La tasa de aprendizaje reduce la contribución de cada árbol por learning_rate. Existe un equilibrio entre learning_rate y n_estimators. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | El número de etapas de boosting a realizar. | int | [1, 500] | 100 |
| `criterion` | La función para medir la calidad de una división. | string | {'friedman_mse', 'mse', 'mae'} | 'friedman_mse' |
| `subsample` | La fracción de muestras a usar para ajustar los aprendices base individuales. | float | (0.0, 1.0] | 1.0 |
| `max_depth` | La profundidad máxima de los estimadores de regresión individuales. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. | float | [0, 0.5] | 0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt", "log2"} | None |
| `max_leaf_nodes` | Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| `init` | Un objeto estimador que se utiliza para calcular las predicciones iniciales. | object or string | estimador (Cualquier modelo de clasificación excepto SVM classification y catboost) o 'zero' | None |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit y añade más estimadores al conjunto, de lo contrario, simplemente borra la solución anterior. | bool | True or False | False |
| `tol` (tolerance) | Tolerancia para la parada anticipada. Cuando la pérdida no mejora en al menos tol durante n_iter_no_change iteraciones (si se establece en un número), el entrenamiento se detiene. | float | [0.0, +Inf) | 1e-4 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `n_neighbors` (number of neighbours) | Número de vecinos a usar por defecto para consultas kneighbors. | int | [1, n] n = Número total de registros en el conjunto de datos | 5 |
| `weights` | Función de peso utilizada en la predicción. Valores posibles | string | {'uniform', 'distance'} | 'uniform' |
| `algorithm` | Algoritmo utilizado para calcular los vecinos más cercanos. | string | {'auto', 'ball_tree', 'kd_tree', 'brute'} | 'auto' |
| `leaf_size` | Tamaño de hoja pasado a BallTree o KDTree. Esto puede afectar la velocidad de la construcción y la consulta, así como la memoria requerida para almacenar el árbol. | int | (1, +Inf) | 30 |
| `p` | Parámetro de potencia para la métrica de Minkowski. | int | [1,3] | 2 |
| `metric` | Métrica a usar para el cálculo de distancia. El valor predeterminado es "minkowski", que resulta en la distancia euclidiana estándar cuando p = 2. | string | {'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'nan_euclidean', 'minkowski'} | 'minkowski' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `boosting_type` | Método de boosting. | string | {'gbdt', 'dart', 'goss' } | 'gbdt' |
| `num_leaves` | Hojas máximas del árbol para aprendices base. | int | (1, +Inf) | 31 |
| `max_depth` | Profundidad máxima del árbol para aprendices base, <= 0 significa sin límite. | int | (-Inf, +Inf) | -1 |
| `learning_rate` | Tasa de aprendizaje de boosting. Se puede usar el parámetro callbacks del método fit para reducir/adaptar la tasa de aprendizaje en el entrenamiento usando el callback reset_parameter. | float | (0.0, +Inf) | 0.1 |
| `n_estimators` (number of estimators) | Número de árboles potenciados a ajustar. | int | [1, 500] | 100 |
| `subsample_for_bin` | Número de muestras para construir bins. | int | (0, +Inf) | 200000 |
| `min_split_gain` | Reducción mínima de pérdida requerida para hacer una partición adicional en un nodo hoja del árbol. | float | [0.0, +Inf) | 0.0 |
| `min_child_weight` | Suma mínima del peso de la instancia (Hessiano) necesaria en un hijo (hoja). | float | [0.0, +Inf) | 1e-3 |
| `min_child_samples` | Número mínimo de datos necesarios en un hijo (hoja). | int | [0, +Inf) | 20 |
| `subsample` | Proporción de submuestreo de la instancia de entrenamiento. | float | (0.0, 1.0] | 1.0 |
| `subsample_freq` (subsample_frequency) | Frecuencia de submuestreo, <= 0 significa no habilitado. | int | (-Inf, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Proporción de submuestreo de columnas al construir cada árbol. | float | (0.0, 1.0] | 1.0 |
| `reg_alpha` (alpha) | Término de regularización L1 en los pesos. | float | (0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | Término de regularización L2 en los pesos. | float | (0.0, +Inf) | 0.0 |
| `importance_type` | El tipo de importancia de característica a llenar en featureimportances. Si es 'split', el resultado contiene el número de veces que la característica se usa en un modelo. Si es 'gain', el resultado contiene las ganancias totales de las divisiones que usan la característica. | string | { 'gain', 'split'} | 'split' |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `penalty` | Especifica la norma de la penalización:
|
string | { 'l1', 'l2', 'elasticnet', 'none'} | 'l2' |
| `dual` | Formulación dual o primal. La formulación dual solo está implementada para la penalización l2 con el solver liblinear. | bool | True or False | False |
| `tol` (tolerance) | Tolerancia para los criterios de parada. | float | [0.0, +Inf) | 1e-4 |
| `C` | Inverso de la fuerza de regularización; debe ser un float positivo. | float | [0.0, +Inf) | 1.0 |
| `solver` | Algoritmo a usar en el problema de optimización. | string | { 'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga' } | 'lbfgs' |
| `fit_intercept` | Especifica si una constante (también conocida como sesgo o intercepto) debe añadirse a la función de decisión. | bool | True or False | True |
| `l1_ratio` | El parámetro de mezcla Elastic-Net, con 0 <= l1_ratio <= 1. Solo se usa si penalty='elasticnet'. | float | [0, 1] | None |
| `multi_class` | Si la opción elegida es 'ovr', entonces se ajusta un problema binario para cada etiqueta. Para 'multinomial' la pérdida minimizada es la pérdida multinomial ajustada a toda la distribución de probabilidad, incluso cuando los datos son binarios. | string | {'auto', 'ovr', 'multinomial'} | 'auto' |
| `intercept_scaling` | Útil solo cuando se usa el solver 'liblinear' y self.fit_intercept se establece en True. El intercepto se convierte en intercept_scaling * synthetic_feature_weight. | float | (0, +Inf) | 1.0 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `n_estimators` (number of estimators) | El número de árboles en el bosque. | int | [1, 500] | 100 |
| `criterion` | La función para medir la calidad de una división. | string | {"gini", "entropy"} | "gini" |
| `max_depth` | La profundidad máxima del árbol. Si es None, entonces los nodos se expanden hasta que todas las hojas sean puras o hasta que todas las hojas contengan menos de min_samples_split muestras. | int | (0, +Inf) | None |
| `min_samples_split` | El número mínimo de muestras requeridas para dividir un nodo interno | int or float | [2, +Inf) or (0, 1.0] | 2 |
| `min_samples_leaf` | El número mínimo de muestras requeridas para estar en un nodo hoja. Un punto de división en cualquier profundidad solo se considerará si deja al menos min_samples_leaf muestras de entrenamiento en cada una de las ramas izquierda y derecha. | int or float | [1, +Inf) or (0, 0.5] | 1 |
| `min_weight_fraction_leaf` | La fracción ponderada mínima de la suma total de pesos (de todas las muestras de entrada) requerida para estar en un nodo hoja. | float | [0, 0.5] | 0.0 |
| `max_features` | El número de características a considerar cuando se busca la mejor división | int, float or string | (0, n_features] or { "sqrt"} | None |
| `max_leaf_nodes` | Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza. | int | (1, +Inf) | None |
| `min_impurity_decrease` | Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor. | float | [0, +Inf) | 0.0 |
| `bootstrap` | Si se usan muestras bootstrap al construir árboles. Si es False, se usa el conjunto de datos completo para construir cada árbol. | bool | True or False | True |
| `oob_score`(out of bag score) | Si se usan muestras fuera de la bolsa para estimar la puntuación de generalización. Solo disponible si bootstrap=True. | bool | True or False | False |
| `warm_start` | Cuando se establece en True, reutiliza la solución de la llamada anterior a fit y añade más estimadores al conjunto, de lo contrario, simplemente ajusta un bosque completamente nuevo. | bool | True or False | False |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `C` | Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C. | float | [0.0, +Inf) | 1.0 |
| `kernel` | Especifica el tipo de kernel a utilizar en el algoritmo. Si no se proporciona ninguno, se usará 'rbf'. | string | {'linear', 'poly', 'rbf', 'sigmoid'} | 'rbf' |
| `degree` | Grado de la función kernel polinómica ('poly'). Ignorado por todos los demás kernels. | int | [0, +Inf) | 3 |
| `gamma` | Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'. | string or float | {'scale', 'auto'} or (0.0, +Inf) | 'scale' |
| `coef0` | Término independiente en la función kernel. Solo es significativo en 'poly' y 'sigmoid'. | float | (-Inf, +Inf) | 0.0 |
| `shrinking` | Si se debe usar la heurística de reducción. | bool | True or False | True |
| `probability` | Si se deben habilitar las estimaciones de probabilidad. | bool | True or False | False |
| `tol` (tolerance) | Tolerancia para el criterio de parada. | float | [0.0, +Inf) | 1e-3 |
| `decision_function_shape` | Si se debe devolver una función de decisión uno-contra-todos ('ovr') de forma (n_samples, n_classes) como todos los demás clasificadores, o la función de decisión original uno-contra-uno ('ovo') de libsvm que tiene forma (n_samples, n_classes * (n_classes - 1) / 2). | string | {'ovo', 'ovr'} | 'ovr' |
| `break_ties` | Si es verdadero, decision_function_shape='ovr', y el número de clases > 2, predict romperá empates según los valores de confianza de decision_function; de lo contrario, se devuelve la primera clase entre las clases empatadas. | bool | True or False | False |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `booster` | Decide qué booster usar. | string | {'gbtree', 'gblinear', 'dart' } | 'gbtree' |
| `learning_rate` | Reducción del tamaño del paso utilizada en la actualización para prevenir el sobreajuste. Después de cada paso de boosting, podemos obtener directamente los pesos de las nuevas características, y eta reduce los pesos de las características para hacer el proceso de boosting más conservador. | float | [0,1] | 0.1 |
| `n_estimators` (number of estimators) | Número de árboles a ajustar. | int | [1, 500] | 100 |
| `objective` | Regresión logística para clasificación binaria. | string | Mencionado debajo de la tabla. | "binary:logistic" |
| `subsample` | Controla la proporción de la muestra. | int | (0,1] | 1 |
| `max_depth` | Profundidad máxima de un árbol. | int | (0, +Inf) | 3 |
| `max_delta_step` | Si el valor se establece en 0, significa que no hay restricción. Si se establece en un valor positivo, puede ayudar a hacer que el paso de actualización sea más conservador. Generalmente este parámetro no es necesario, pero podría ayudar en la regresión logística cuando la clase está extremadamente desequilibrada. | int or float | [0, +Inf) | 0 |
| `colsample_bytree` (column sample by tree) | Fracción de muestras aleatorias de columnas. | float | (0.0, 1.0] | 1.0 |
| `colsample_bylevel` (column sample by level) | Es la proporción de submuestreo de columnas para cada nivel. El submuestreo ocurre una vez por cada nuevo nivel de profundidad alcanzado en un árbol. Las columnas se submuestrean del conjunto de columnas elegidas para el árbol actual. | float | (0.0, 1.0] | 1.0 |
| `min_child_weight` | Suma mínima de pesos. | int | [0, +Inf) | 1 |
| `reg_alpha` (alpha) | Término de regularización L1 en los pesos. | float | [0.0, +Inf) | 0.0 |
| `reg_lambda` (lambda) | Término de regularización L2 en los pesos. | float | [0.0, +Inf) | 0.0 |
| `scale_pos_weight` (scale positive weight) | Controla el equilibrio de pesos positivos y negativos, útil para clases desequilibradas. | int | [0, +Inf) | 1 |