# QuickML ## Componentes de Ayuda -------------------------------------------------------------------------------- title: "Perfilador y Visor de Datos" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-profiler-and-viewer/" service: "QuickML" -------------------------------------------------------------------------------- # Data Profiler y Viewer ### ¿Qué es el Data Profiling? El data profiling es el proceso de revisar datos sin procesar; comprender su estructura, contenido e interrelaciones; e identificar oportunidades para obtener información analítica. Es crucial al realizar el preprocesamiento de datos, realizar la visualización de datos y mejorar la puntuación de calidad de los datos. También ayuda a mejorar el análisis proporcionando inteligencia general sobre los datos que se están utilizando. Ejemplos de cómo se puede utilizar el data profiling: - **Preprocesamiento de datos:** Para identificar valores faltantes, valores únicos y duplicados, y formatos de datos inconsistentes, lo que ayuda a limpiar y preparar los datos para el análisis. - **Visualización de datos:** El data profiling nos ayuda a comprender la distribución real de los datos e identificar cualquier valor atípico, para que podamos crear visualizaciones de datos más precisas e informativas. - **Mejora de la puntuación de calidad de datos:** Al identificar y corregir los problemas de calidad de datos, el data profiling ayuda a mejorar la confiabilidad de los datos para análisis posteriores. El data profiling involucra una variedad de actividades, incluyendo: - Recopilar detalles estadísticos como min, max, mean y más para columnas numéricas - Recopilar tipos de datos e identificar patrones recurrentes en los datos - Encontrar redundancia y calidad de los datos - Realizar análisis inter-tabla de datos tabulares ### Data Profiling en QuickML Los datos cargados en el módulo de datasets de QuickML pasan automáticamente por la sección de data profiling y proporcionan una comprensión rica e información valiosa de los datos. 1. **Conteo de registros, valores únicos y porcentajes:** QuickML puede encontrar el número de valores únicos y duplicados y sus respectivos porcentajes del total en cada columna de tus datos, que se pueden utilizar para actualizar eficientemente las filas y columnas. 2. **Tipo de dato y Visualización:** El Data Profiler de QuickML identifica con precisión el tipo de dato de cada característica en un conjunto de datos y visualiza la distribución para obtener información clara sobre los datos. 3. **Valores faltantes:** El Data Profiler de QuickML puede obtener el conteo y porcentaje de valores faltantes, como valores en blanco y nulos, y ayuda a los científicos de datos a establecer valores apropiados. 4. **Detalles estadísticos:** El Data Profiler de QuickML genera los siguientes datos estadísticos para columnas numéricas y categóricas: <table class="content-table" style="width:800px;"> <tr> <th style="text-align:center">Columnas numéricas</th> <td style="text-align:center">Sum, Min, Max, Mean, Median, Standard Deviation, Variance y percentiles bajo, medio, alto</td> </tr> <th style="text-align:center">Columnas categóricas</th> <td style="text-align:center">Unique, Duplicates</td> </tr> <tbody> </tbody> </table> 5. **Versionado de Datasets y Puntuación de calidad** QuickML puede perfilar múltiples versiones de los mismos datos y generar puntuaciones de calidad para cada versión. El perfil de datos se puede ver en cualquier momento usando la opción de versión en la página de detalles del Dataset. 6. **Correlation Heatmap** El data profiler genera un correlation heatmap para todas las versiones del conjunto de datos, que visualiza las interrelaciones de las características y el grado en que están relacionadas entre sí y con la característica objetivo. <br /> ### Data Viewer en QuickML Se genera una vista previa de datos en la página de detalles del dataset muestreando 250 registros del conjunto de datos original, lo que ayuda a identificar los tipos de datos de cada característica. <br /> -------------------------------------------------------------------------------- title: "Características de Zia" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/zia-features/" service: "QuickML" -------------------------------------------------------------------------------- # Características de Zia QuickML está integrado con las populares características de análisis de texto de Zia que son desarrolladas internamente en Zoho. Estas capacidades de Zia se pueden utilizar para una amplia variedad de tareas que involucran la comprensión y el procesamiento de texto. Zia es una herramienta poderosa que puede ayudar a las empresas a mejorar sus operaciones, tomar mejores decisiones y comprender mejor a sus clientes. Las características clave en estas categorías son: - **Zia Sentiment Analysis** - **Zia Keyword extraction** - **Zia Language detection** - **Zia Emotion detection** - **Zia Intent Extraction** - **Zia Activity Extraction** - **Zia Commitment Classification** #### Zia Sentiment Analysis: Zia Sentiment Analysis es una parte del análisis de texto que procesa contenido textual para reconocer el tono del mensaje y los sentimientos que transmite. Analiza cada oración para determinar si su tono es positivo, negativo o neutral. Luego determina el tono del texto general como uno de estos tres sentimientos, basándose en los sentimientos reconocidos en cada oración. #### Zia Keyword Extraction: Keyword Extraction es una técnica de análisis de texto que implica extraer términos importantes y relevantes de un fragmento de texto, lo que proporciona una abstracción del texto completo. También funciona con los principios de minería de texto, recuperación de información y procesamiento de lenguaje natural. La extracción de palabras clave es similar a las áreas de análisis del lenguaje humano y desarrollo de precisión con más entrenamiento usando conjuntos de datos ricos. Utiliza enfoques estadísticos simples como frecuencias de palabras y colocaciones, así como enfoques avanzados de aprendizaje automático. #### Zia Language Detection: En el procesamiento de lenguaje natural, la identificación de idioma o detección de idioma es la técnica de determinar en qué idioma natural se encuentra un contenido dado. Los enfoques computacionales a este problema lo ven como un caso especial de categorización de texto. La detección de idioma es un gran caso de uso para el aprendizaje automático, más específicamente para la clasificación de texto. Dado algún texto de un correo electrónico, artículo de noticias, salida de capacidades de speech-to-text, o cualquier otro lugar, un modelo de detección de idioma te dirá en qué idioma está. #### Zia Emotion Detection: La detección de emociones es un subconjunto del análisis de sentimientos, ya que predice la emoción única en lugar de solo indicar positivo, negativo o neutral. Esta es una técnica para descubrir las actitudes, emociones y sentimientos de las personas sobre un objetivo o cosa determinada. El predictor de emociones de Zia facilita la identificación y el análisis de las emociones ocultas en datos textuales. Happy, Enthusiasm, Discontentment, Frustration, Trust, Confusion, Gratitude y Neutral son las 8 emociones que el algoritmo de Zia puede anticipar con buen grado de precisión. Dada una oración, el modelo de detección de emociones de Zia predecirá y dirá qué tipo de emoción está involucrada en esa oración. #### Zia Intent Extraction: El modelo de extracción de intención es un modelo de deep learning que utiliza la arquitectura Distilbert Transformers, entrenado en un gran conjunto de oraciones en inglés que ayuda a determinar el tipo de acción que se expresa en una frase, así como todos sus elementos constituyentes. La detección de intención es el proceso de analizar datos de texto para encontrar la intención del autor. El modelo de extracción de intención de Zia puede identificar términos en una oración que son relevantes para quejas, solicitudes, compras y consultas. #### Zia Activity Extraction: La extracción de actividad de Zia es un clasificador de secuencias multi-clase que reconocerá actividades como un evento, llamada y tarea de una oración dada utilizando el clasificador Distilbert. #### Zia Commitment Classification: La clasificación de compromisos de Zia predecirá e identificará las cláusulas relacionadas con compromisos en una frase, como la fecha de vencimiento, la promesa de algo, etc. Dada cualquier oración, el modelo de clasificación de compromisos de Zia detectará y devolverá la declaración de compromiso. -------------------------------------------------------------------------------- title: "Desbalance de Clases" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/class-imbalance/" service: "QuickML" -------------------------------------------------------------------------------- ### ¿Qué es el Desbalance de Clases? El desbalance de clases ocurre cuando el número de muestras en una clase (llamada la clase mayoritaria) supera significativamente a las de otra clase (llamada la clase minoritaria) en problemas de clasificación. Este desbalance puede causar que los modelos estén sesgados hacia la predicción de la clase mayoritaria, resultando en una detección deficiente de los casos de la clase minoritaria, que frecuentemente son los críticos (por ejemplo, detectar fraude o diagnosticar enfermedades raras). ### ¿Por Qué es Importante? Si el desbalance no se maneja, los modelos pueden: - Alcanzar una alta precisión general, pero fallar en detectar casos de la clase minoritaria - Producir muchos falsos negativos (detecciones perdidas), lo cual puede ser peligroso en campos como la salud - Tener métricas de evaluación engañosas porque la precisión está dominada por la clase mayoritaria - Tener dificultades para generalizar bien con datos nuevos ### Técnicas para Manejar el Desbalance El manejo del desbalance de clases se refiere a un conjunto de técnicas usadas para tratar problemas de clasificación donde una clase (la mayoritaria) tiene significativamente más muestras que otra (la minoritaria). ### Oversampling El oversampling se usa para abordar el problema del desbalance de clases en datasets—particularmente común en problemas de clasificación binaria donde una clase supera significativamente a la otra. En un dataset desbalanceado, la clase mayoritaria domina, lo que puede llevar a los modelos de machine learning a estar sesgados hacia predecir esa clase con más frecuencia, ignorando la clase minoritaria por completo. Esto resulta en un recall y precisión deficientes para la clase minoritaria, que frecuentemente es la clase de interés. **¿Qué hace el oversampling?** El oversampling aumenta la representación de la clase minoritaria al agregar más muestras, ya sea duplicando ejemplos existentes o generando nuevos sintéticos. El objetivo es equilibrar la distribución de clases, para que el modelo reciba igual exposición de aprendizaje a ambas clases. **Técnicas comunes:** - **SMOTE (Synthetic Minority Over-sampling Technique)**: Crea muestras sintéticas de la clase minoritaria interpolando entre ejemplos minoritarios existentes. - **RandomOverSampler**: Simplemente duplica muestras de la clase minoritaria aleatoriamente. - **BorderlineSMOTE**: Genera muestras sintéticas solo cerca del límite de decisión donde las clases se superponen. - **ADASYN**: Similar a SMOTE pero se enfoca más en crear muestras para los casos minoritarios más difíciles de aprender. **Ejemplo:** Supongamos que tienes un dataset de detección de fraude: <table class="content-table" style="width:400px;"> <thead> <tr> <th>Clase</th> <th>Número de Muestras</th> </tr> </thead> <tbody> <tr> <td>Legítimo</td> <td>10,000</td> </tr> <tr> <td>Fraude</td> <td>200</td> </tr> </tbody> </table> Usando **SMOTE**, generas casos sintéticos de fraude para aumentar las muestras de la clase minoritaria de 200 a 10,000. Este dataset equilibrado ayuda al modelo a aprender mejor los patrones de fraude, reduciendo los casos de fraude no detectados (falsos negativos) y mejorando las tasas de detección. ### Undersampling El undersampling es una técnica usada para manejar el desbalance de clases en datasets de machine learning al reducir el tamaño de la clase mayoritaria para que sea comparable al tamaño de la clase minoritaria. Esto ayuda a crear un dataset más equilibrado, asegurando que el modelo preste igual atención a ambas clases durante el entrenamiento. En un escenario típico de desbalance, una clase (usualmente la que nos interesa menos) domina el dataset. Por ejemplo, en una tarea de clasificación de correos electrónicos, el número de correos "no spam" podría superar ampliamente a los de "spam". Sin equilibrar, un modelo podría aprender a predecir solo la clase mayoritaria para optimizar la precisión, mientras ignora completamente la clase minoritaria. **¿Qué hace el undersampling?** El undersampling reduce la distribución sesgada al eliminar aleatoria o estratégicamente muestras de la clase mayoritaria, reduciéndola así para igualar o acercarse al tamaño de la clase minoritaria. Esto obliga al modelo a aprender de forma más equitativa de ambas clases, lo que puede mejorar su rendimiento en la clase minoritaria. **Técnicas comunes:** - **RandomUnderSampler**: Elimina aleatoriamente muestras de la clase mayoritaria. - **TomekLinksUnderSampler**: Elimina muestras mayoritarias que están muy cerca de las muestras minoritarias (limpiando superposiciones ruidosas). - **EditedNNUnderSampler**: Elimina muestras mayoritarias mal clasificadas por los vecinos más cercanos, reduciendo el ruido. - **NearMissUnderSampler**: Mantiene las muestras mayoritarias que están cerca de las muestras minoritarias (se enfoca en casos difíciles del límite de decisión). **Ejemplo:** En un dataset de diagnóstico médico: <table class="content-table" style="width:400px;"> <thead> <tr> <th>Clase</th> <th>Número de Muestras</th> </tr> </thead> <tbody> <tr> <td>Sano</td> <td>5000</td> </tr> <tr> <td>Enfermedad</td> <td>300</td> </tr> </tbody> </table> Usando **RandomUnderSampler**, las muestras sanas se reducen de 5,000 a 300 para igualar las muestras de enfermedad. Esto ayuda al modelo a evitar el sesgo hacia la clase sana y detectar mejor la enfermedad. -------------------------------------------------------------------------------- title: "Sincronización Periódica" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/periodic-sync/" service: "QuickML" -------------------------------------------------------------------------------- # Periodic Sync Periodic Sync ayuda a reducir el esfuerzo manual requerido para importar datos repetidamente desde el mismo conector de datos en múltiples intervalos. Al configurar la sincronización, los usuarios pueden automatizar el proceso de importación de datos según la periodicidad elegida, minimizando la necesidad de intervención manual. En QuickML, la sincronización de datos se puede configurar usando Sync Frequency, con varias opciones de intervalo periódico, incluyendo diario, semanal, mensual, anual y frecuencias personalizadas establecidas en horas y minutos, con un mínimo de 6 horas hasta un máximo de intervalos de 23:59 horas. ### Beneficios de usar Periodic Sync en QuickML - **Reduce la interferencia manual:** Los usuarios no necesitan estar disponibles durante el proceso de importación. - **Ahorro de tiempo:** Automatizar la importación de datos ahorra tiempo empleado en configurar los conectores de datos cada vez que se necesita importar datos. - **Consistencia:** Asegura que los datos se actualicen consistentemente dentro de la plataforma QuickML, manteniendo la precisión y confiabilidad. - **Mejor rendimiento del modelo:** Tener los datos más recientes disponibles ayuda a entrenar periódicamente el modelo; los datos más recientes aseguran un mejor y más consistente rendimiento del modelo, resultando en predicciones confiables. - **Eficiencia:** Reduce el riesgo de errores asociados con importaciones de datos manuales. - **Opciones de intervalo flexibles:** QuickML ofrece una variedad de opciones de programación para satisfacer diferentes necesidades de importación y actualización de datos. ### Dónde configurar la frecuencia de sincronización #### Durante la importación de datos: Puedes establecer la frecuencia de periodic sync durante la importación de datos desde cualquiera de estos conectores de datos: object storages, Zoho apps y Databases. <br /> #### Después de la importación de datos: En la página de detalles del dataset, hay un campo de sync frequency que transmite la configuración de sincronización elegida desde la etapa de importación de datos. Sin embargo, el usuario puede modificar la configuración según sea necesario usando las opciones del menú desplegable, como se muestra a continuación. <br /> #### Creación de data pipeline: Al crear el data pipeline para un dataset con periodic sync habilitado, asegúrate de habilitar la opción Execute pipeline after periodic sync. Esto asegura que después de cada sincronización, el data pipeline se vuelva a ejecutar y produzca la siguiente versión de los datos transformados. <br /> #### Creación de ML Pipeline: Al crear el ML pipeline para un dataset con periodic sync habilitado, asegúrate de habilitar la opción Retrain model when the dataset is updated. Esto asegura que el modelo se reentrene automáticamente cada vez que el dataset se actualice. <br /> -------------------------------------------------------------------------------- title: "Crear Data Pipeline" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/create-data-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # Crea tu primer Data Pipeline Veamos cómo crear un data pipeline usando la plataforma QuickML. <!-- **Resources:** Click here to access some sample datasets to get started with. --> ## Creando un Data Pipeline usando la interfaz de construcción de pipelines 1. Ve a la sección **datasets** 2. Haz clic en Import Dataset para subir un dataset a la plataforma QuickML usando las opciones de conectores de datos disponibles. <br /> 3. Selecciona la fuente de datos preferida para realizar la operación de importación. <br /> Después de subir el archivo desde las opciones anteriores, se mostrará la puntuación de calidad de datos. <br /> 4. Para crear un data pipeline, haz clic en Go to Data Cleaning. Aparecerá el popup Create pipeline pidiéndote que proporciones un nombre para el pipeline, luego haz clic en el botón Create Pipeline. <br /> 5. Luego serás dirigido a la página de Pipeline Builder donde puedes realizar las siguientes operaciones de preprocesamiento de datos simplemente arrastrando y soltando componentes como se muestra en el panel izquierdo y conectándolos a componentes anteriores y posteriores para crear un pipeline. - Data Cleaning - Data Transformation - Data Extraction <br /> Los componentes bajo cada paso de preprocesamiento de datos en el panel izquierdo pueden verse al expandirlos. 6. Cada operación realizada dentro del constructor puede verse procesada en los datos de muestra en la sección de vista previa. **Ejemplo:** Arrastra y suelta el componente Select/Drop bajo la sección Data Cleaning; selecciona las columnas requeridas; y selecciona la operación Drop/select. Podrás confirmar en la sección de vista previa que las columnas se han eliminado. <br /> 7. De manera similar, arrastra y suelta todos los componentes requeridos en el constructor y conecta el último componente al destino para terminar de construir el pipeline. Aparecerá de la siguiente manera: <br /> 8. Para ejecutar el pipeline, haz clic en el botón Execute. Una vez que el pipeline se ejecute, aparecerá de la siguiente manera: <br /> 9. Al hacer clic en el dataset **car_price** serás dirigido a la página de detalles del dataset car_prices, donde puedes verificar nuevas versiones y otra información relevante del perfil del Dataset <br /> **Nota:** QuickML usa Zoho IAM como gestor de autenticación. Para usar el servicio, el usuario debe haber iniciado sesión usando una cuenta de Zoho. -------------------------------------------------------------------------------- title: "Crear Pipeline de ML" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.877Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/create-ml-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # Crea tu primer Pipeline de ML Veamos cómo crear un pipeline de ML usando la plataforma QuickML. ## Creando un Pipeline de ML usando la interfaz de construcción de pipelines 1. Ve a la sección Pipelines 2. Haz clic en Create-Pipeline para crear el pipeline de ML en la plataforma QuickML usando el dataset subido. <br /> 3. Proporciona el nombre del Pipeline de ML, el nombre del Modelo, y elige el dataset con el que necesitas preparar el Pipeline de ML. En Target column, selecciona la columna para la cual vas a realizar la predicción y haz clic en el botón Create Pipeline. <br /> **Nota:** Cuando creas un pipeline de ML desde el mismo dataset que tu data pipeline, los datos de salida (la versión modificada del dataset del data pipeline) se obtendrán automáticamente. 4. Una vez que se abra la interfaz de construcción de pipelines, ahora puedes arrastrar y soltar los nodos requeridos para realizar las operaciones de ML. Ejemplo: En esta imagen, puedes ver que el nodo Ordinal Encoder [node](/es/quickml/help/operations-in-quickml/encoding/#ordinal-encoder) ha sido conectado a la fuente. En la configuración, selecciona todas las columnas excepto **year**, **mileage** y **money** ya que estas ya están en forma numérica. <br /> Una vez que la configuración esté hecha, haz clic en Save y continúa. 5. De la misma manera, puedes conectar todos los nodos requeridos para realizar la predicción y completar el pipeline, como se muestra a continuación. <br /> 6. Una vez que el pipeline esté completo, haz clic en Save y luego haz clic en Execute. <br /> Una vez que el pipeline se ejecute exitosamente, puedes ver el estado de ejecución como Success como se muestra arriba. 7. Al hacer clic en el **nombre del modelo** (Car Price Prediction ML Pipeline model) serás redirigido a la página de detalles del modelo, donde puedes ver los datos de métricas de evaluación del modelo, como se muestra a continuación. <br /> -------------------------------------------------------------------------------- title: "Código Personalizado" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.878Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/custom-code/" service: "QuickML" -------------------------------------------------------------------------------- ### Operaciones de Custom Code Las operaciones de Custom Code están disponibles en acceso anticipado en todos los centros de datos. Para usar esta función, solicita acceso a través de support@zohocatalyst.com Las operaciones de Custom Code en el pipeline de QuickML permiten a los desarrolladores insertar su propia lógica en el proceso de entrenamiento del modelo. Al implementar clases de Python proporcionadas en plantillas, los usuarios pueden personalizar cómo se transforman los datos, cómo se procesan las características e incluso definir el algoritmo de aprendizaje automático utilizado. Esta capacidad se divide en tres componentes distintos: - Custom Data Transformation - Custom ML Transformation - Custom Algorithm Cada componente desempeña un papel único en el ciclo de vida del aprendizaje automático y viene con firmas de métodos predefinidas que deben ser implementadas por el usuario. Nota: La implementación es obligatoria para todos los métodos en la clase de plantilla. ### Custom Data Transformation Custom Data Transformation se utiliza para optimizar los datos realizando operaciones como limpieza de datos, transformación y extracción de datos sin procesar utilizando lógica personalizada. Es particularmente útil para pasos de preprocesamiento como la eliminación de columnas, conversiones de formato y escalado que deben permanecer consistentes tanto en las etapas de entrenamiento del modelo como de predicción. El código personalizado maneja requisitos complejos durante el preprocesamiento de datos y se implementa en el método **transform()**, que acepta y devuelve un objeto DataFrame y se ejecuta tanto durante el entrenamiento como durante la inferencia. En el código de ejemplo a continuación, el nodo de Custom Data Transformation preprocesa los datos antes de que se utilicen para el entrenamiento o la predicción del modelo. Elimina la columna "Glucose" del conjunto de datos para asegurar que las características irrelevantes o potencialmente sesgadas no influyan en el aprendizaje o las predicciones del modelo. ### Custom ML Transformation En el ciclo de vida del desarrollo de modelos de ML, las operaciones de Custom ML Transformation se utilizan durante el paso de preprocesamiento realizando tareas de ingeniería de características específicamente adaptadas al caso de uso utilizando lógica personalizada. Estas transformaciones son ideales para manejar operaciones como la imputación de valores faltantes, la codificación de características y la normalización, donde la lógica debe aprender de los datos de entrenamiento y aplicar consistentemente la misma transformación durante la predicción. Esto se logra a través de un método **fit()**, que aprende los parámetros necesarios de los datos de entrenamiento, y un método **transform()**, que aplica esos parámetros aprendidos para preprocesar nuevos datos. Ambos métodos aceptan y devuelven un objeto DataFrame. En el código de ejemplo a continuación, el nodo de Custom ML Transformation maneja la imputación de valores faltantes como parte del paso de preprocesamiento de datos. Durante el entrenamiento, calcula la media de cada columna numérica y la almacena. Posteriormente, durante la predicción o inferencia, rellena los valores faltantes en esas columnas usando los valores de media almacenados, asegurando consistencia entre las fases de entrenamiento y predicción. ### Custom Algorithm Te permite integrar un modelo de ML personalizado y definir su lógica de entrenamiento, predicción y evaluación. Esto ofrece control total sobre qué algoritmo se utiliza y cómo se evalúa su rendimiento. Tiene funciones **fit**, **predict** y **get_evaluation_metrics**. Fit se ejecuta durante el entrenamiento del modelo, predict se ejecuta durante la predicción y get_evaluation_metrics se ejecuta después del entrenamiento del modelo para generar las métricas de evaluación. Las métricas devueltas por el método **get_evaluation_metrics()** se mostrarán en la sección de métricas de evaluación de la página de detalles del modelo. La operación de Custom Algorithm se refiere a la aplicación de algoritmos personalizados adaptados a casos de uso empresariales específicos. Permite a los usuarios integrar un modelo de ML personalizado y definir lógica de entrenamiento, predicción y evaluación a medida. Este enfoque ofrece control total sobre qué algoritmo se utiliza y cómo se evalúa su rendimiento. Puede verse como una mejora de los algoritmos predefinidos estándar, permitiendo la resolución de problemas de modelado únicos utilizando reglas específicas del dominio. La operación incluye tres métodos clave: - **fit()** — se ejecuta durante el entrenamiento del modelo para aprender de los datos, - **predict()** — se ejecuta durante la predicción para generar resultados, y - **get_evaluation_metrics()** — se ejecuta después del entrenamiento para calcular y devolver métricas de evaluación. Nota: Las métricas devueltas por get_evaluation_metrics() se muestran en la sección de evaluación de la página de detalles del modelo, soportando flujos de trabajo de evaluación de modelos personalizados. En el código de ejemplo a continuación, el nodo de Custom Algorithm construye un modelo de ML utilizando el clasificador LightGBM. Divide el conjunto de datos de entrada en conjuntos de entrenamiento y prueba, entrena el modelo con los datos de entrenamiento y almacena la instancia del modelo entrenado. Durante la predicción, utiliza el modelo entrenado para generar resultados para datos no vistos. Después del entrenamiento, evalúa el modelo utilizando métricas de accuracy, precision, recall y F1-score, que se calculan sobre los datos de prueba y se devuelven como un diccionario para el análisis de rendimiento. **Lista de bibliotecas de Python desde las cuales se admite la importación:** *numpy, scipy, pandas, xgboost, catboost, lightgbm, sklearn, tld, patsy, tensorflow, statsmodels, tldextract, huggingface_hub, sentence_transformers, imbalanced_learn, hyperopt, shap, lime, transformers, pmdarima, lightfm, LibRecommender, subseq* -------------------------------------------------------------------------------- title: "Crear Pipeline AutoML" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.878Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/create-automl-pipeline/" service: "QuickML" -------------------------------------------------------------------------------- # Pipeline AutoML ### Pasos para crear un pipeline AutoML en QuickML 1. Navega a la parte inferior izquierda de la página, haz clic en el botón +Create y selecciona Pipeline. 2. Aparecerá la página Create Pipeline. Completa los detalles, luego marca la casilla Create an Auto-generated pipeline using AutoML. <br /> 3. Haz clic en Create Pipeline. Esto creará un pipeline automatizado con la configuración necesaria, como se muestra a continuación: <br /> El modelo con mejor rendimiento será finalizado y generado con todas las métricas de evaluación, como se muestra a continuación. -------------------------------------------------------------------------------- title: "Detalles del Modelo" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.878Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/models-details/" service: "QuickML" -------------------------------------------------------------------------------- # Models Una vez que un ML pipeline se ejecuta exitosamente, se crea un modelo de ML respectivo. Esta vista del modelo se puede utilizar para obtener una comprensión de sus métricas internas. La lista de modelos creados se puede ver en la página de Models junto con el estado de cada modelo como se muestra a continuación. <br /> ### Métricas del Modelo Los usuarios de QuickML tendrán acceso para ver las métricas del modelo para cada versión, que proporcionan información valiosa sobre el rendimiento de los modelos de aprendizaje automático. Estas métricas sirven como indicadores esenciales para evaluar la precisión y efectividad del modelo al realizar predicciones. <br /> Los usuarios de QuickML tienen acceso a las siguientes métricas. ### Confusion Matrix En aprendizaje automático, una confusion matrix se utiliza para medir el rendimiento de un modelo de clasificación. En términos simples, una confusion matrix es un resumen del número de predicciones correctas e incorrectas realizadas por el modelo de aprendizaje automático. La matriz muestra el número de true positives (TP), true negatives (TN), false positives (FP) y false negatives (FN) como se muestra a continuación. **TP:** True Positive es el conteo de instancias donde tanto los valores predichos como los reales son positivos. **TN:** True Negative es el conteo de instancias donde tanto los valores predichos como los reales son negativos. **FP:** False Positive es el conteo de instancias donde el modelo las predijo como positivas pero los valores reales son negativos. **FN:** False Negative es el conteo de instancias donde el modelo las predijo como negativas pero los valores reales son positivos. ### Caso de uso Expliquemos la confusion matrix con un caso de uso: predecir la satisfacción de los pasajeros de una aerolínea con el servicio de vuelo. **Explicación breve:** Una aerolínea recopila información sobre sus pasajeros, incluyendo sus datos demográficos, información de vuelo y respuestas de encuestas sobre su satisfacción con el servicio de la aerolínea. Después, la aerolínea aplica esta información para crear un modelo de clasificación de aprendizaje automático que predice si el pasajero está **satisfied** o **neutral/dissatisfied**. Evaluemos el rendimiento de un modelo de clasificación usando una confusion matrix en QuickML como se muestra a continuación: Valores listados de la confusion matrix: <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Conteo total de respuestas</th> <td style="text-align:center">5,196</td> </tr> <th style="text-align:center">True Positive (TP)</th> <td style="text-align:center">2,930</td> </tr> <th style="text-align:center">False Negative (FN)</th> <td style="text-align:center">182</td> </tr> <th style="text-align:center">False Positive (FP)</th> <td style="text-align:center">35</td> </tr> <th style="text-align:center">True Negative (TN)</th> <td style="text-align:center">2,049</td> </tr> <tbody> </tbody> </table> Las métricas de rendimiento comúnmente utilizadas para evaluar cualquier modelo de clasificación son las siguientes. **Accuracy score:** La proporción de instancias correctamente predichas entre el total de instancias. Accuracy = TP+TN/Total Responses = (2,930+2,049)/5,196 = 0.958 **Precision score:** Precision es una medida de cuán precisas son las predicciones positivas del modelo. Se calcula como la proporción de predicciones verdaderamente positivas sobre la suma de predicciones verdaderamente positivas y falsamente positivas. Precision = TP/(TP+FP)= 2,930/(2,930+35) = 0.988 **Recall score:** El recall score, también conocido como sensibilidad, es el porcentaje de casos positivos reales que un modelo predice correctamente. Se calcula dividiendo el número de predicciones verdaderamente positivas entre la suma de las predicciones verdaderamente positivas y falsamente negativas. En términos más simples, un recall score mide qué tan bien un modelo puede identificar todos los casos positivos en un conjunto de datos. Un recall score alto significa que el modelo es bueno encontrando todos los casos positivos, mientras que un recall score bajo significa que el modelo está perdiendo muchos casos positivos. Recall score = TP/(TP+FN) = 2930/3112 = 0.941 **F1 score:** La media armónica de precision y recall, proporcionando una evaluación equilibrada del rendimiento del modelo. F1 Score = 2*Recall*Precision/(Recall+Precision) = 2*0.941*0.988/(0.941+0.988) = 0.9639 De las métricas anteriores, podemos inferir algunas conclusiones sobre el modelo. 1. El modelo de la aerolínea predijo correctamente el nivel de satisfacción de 4,979 pasajeros, mientras que 182 fueron incorrectamente predichos como satisfechos y 35 como insatisfechos/neutrales. 2. Tiene buen rendimiento con un accuracy del 95.8%, un precision del 98.8% y un recall del 94.1%. Sin embargo, ha fallado en 182 predicciones de pasajeros satisfechos. Por lo tanto, el modelo debería ser ajustado para aumentar el recall score, lo que luego identificaría a todos los pasajeros satisfechos. Al examinar estas métricas del modelo en QuickML, podemos obtener información más profunda sobre el rendimiento de cualquier modelo de aprendizaje automático y tomar decisiones informadas sobre la selección y optimización del modelo. Esto empoderará a los usuarios para ajustar sus modelos y mejorar la precisión predictiva. ### Métricas de evaluación QuickML muestra las siguientes métricas de evaluación respecto a los modelos de clasificación y regresión creados. 1. #### Classification <br /> 2. #### Regression <br /> 3. #### Recommendation 4. #### Time Series ### Métricas de Cross Validation Cross validation es un método para evaluar el rendimiento de un modelo de aprendizaje automático dividiendo los datos de entrenamiento en k pliegues, entrenando el modelo en k-1 pliegues y evaluando el modelo en el pliegue restante. Este proceso se repite k veces, y el rendimiento promedio del modelo en los k pliegues se utiliza para evaluar su rendimiento general. En términos más simples, cross validation funciona entrenando el modelo en un subconjunto de los datos de entrenamiento y luego evaluando su rendimiento en el subconjunto restante de los datos de entrenamiento. Esto se repite múltiples veces, y el rendimiento promedio del modelo en todos los subconjuntos se utiliza para evaluar su rendimiento general. Ayuda a asegurar que el modelo no esté sobreajustándose a los datos de entrenamiento y que generalice bien a nuevos datos. QuickML te proporciona una gran cantidad de métricas de cross validation para rastrear el rendimiento tanto para modelos de clasificación como de regresión. La lista de tipos de métricas proporcionadas en cross validation es la siguiente: 1. #### Classification Model <br /> **Tipos de Métricas:** - ROC AUC OVR - ROC AUC OVO - ROC AUC OVR weighted - ROC AUC OVO weighted - Balanced accuracy - Average precision - F1 score - F1 macro - F1 micro - F1 samples - F1 weighted 2. #### Regression Model <br /> **Tipos de Métricas:** - Negative mean-squared error - Negative mean-squared log error - Negative root mean-squared error - Negative mean absolute error - Negative median absolute error - Negative mean poisson deviance - Negative mean gamma deviance - Negative log loss - Negative brier score - R2 score ### Versiones del Modelo El versionado de modelos es el proceso de rastrear y gestionar diferentes versiones de un modelo de aprendizaje automático. <br /> Esto es importante porque te permite comparar diferentes versiones del modelo, rastrear su rendimiento y seleccionar la mejor versión para el despliegue. El versionado de modelos también puede ayudarte a revertir a una versión anterior del modelo si es necesario. ### Feature Importance Identificar la importancia de cada característica de entrada utilizada en la construcción de un modelo de aprendizaje automático puede ayudarte a rastrear cómo afectarán la calidad del modelo y su progreso en la toma de decisiones. Se calcula una puntuación de feature importance para cuantificar la importancia; cuanto mayor sea la puntuación de una característica, mayor será el impacto de la característica en el modelo que predice la variable objetivo. Al cuantificar la importancia de cada característica, proporciona información sobre los datos y el modelo, permitiendo una mejor comprensión, interpretación y potencial mejora del rendimiento del modelo. Feature importance se puede calcular usando varios métodos, como permutation importance o mean decrease in impurity, o usando técnicas específicas del modelo como el atributo feature importances en modelos basados en árboles. #### Usos de Feature Importance Feature importance también se utiliza para comprender la relación entre las características de entrada y las variables objetivo, similar a la correlation matrix. Las características altamente relevantes que impactan el modelo se identifican usando la puntuación de importancia. - **Reducción de dimensionalidad:** Feature importance ayuda a reducir la dimensionalidad del modelo manteniendo las características con puntuaciones más altas y eliminando aquellas con puntuaciones más bajas de los datos de entrenamiento. Esta simplificación reduce el sesgo, elimina el ruido y acelera el entrenamiento del modelo, generando finalmente un modelo con mejor rendimiento. - **Rendimiento del modelo:** Al enfocarse en las características más relevantes, feature importance ayuda a optimizar el modelo para un mejor rendimiento y mejorar su predictibilidad. - **Información para stakeholders:** Feature importance proporciona a los stakeholders información sobre qué características tienen el mayor impacto en las predicciones del modelo y ayuda a comprender el comportamiento del modelo. En resumen, feature importance explica la importancia de cada característica en el modelo. <br /> En la página de detalles del modelo de QuickML, se genera un gráfico de barras para representar visualmente la puntuación de feature importance de las 20 características principales en orden descendente, y el resto se categorizará como otros. -------------------------------------------------------------------------------- title: "Métricas de Ejecución del Pipeline" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.880Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/pipeline-execution-metrics/" service: "QuickML" -------------------------------------------------------------------------------- # Métricas de Ejecución del Pipeline Una vez que cualquier pipeline se publica, se programa para ejecución en un entorno independiente. Las ejecuciones del pipeline se versionarán para ejecuciones subsiguientes y los detalles de ejecución serán monitoreados y recopilados por el servicio QuickML. Estos detalles de ejecución se pueden ver desde el **Pipeline Metrics viewer** integrado en QuickML. Estas métricas ayudarán a encontrar el rendimiento y el uso de recursos de la ejecución del pipeline y serán beneficiosas para la mejora y el desarrollo continuo de pipelines con respecto a los ML pipelines. <br /> El metrics viewer se puede utilizar para ver la información de la **ejecución completa del pipeline y la ejecución por etapa**. Las métricas listadas a continuación estarán disponibles para monitoreo: - **Información de ejecución del pipeline** - Tiempo de ejecución - Uso promedio de memoria - Uso promedio de disco - Uso promedio de CPU - **Detalles de ejecución** - Mejor ejecución del pipeline - Ejecución anterior del pipeline - **Gráficos de uso de recursos** ### Información de Ejecución del Pipeline Desde la página de detalles del pipeline, se puede abrir la ventana de información de ejecución que contendrá la información de ejecución respectiva como se muestra a continuación. <br /> ### Gráficos de uso de recursos Para mantener un seguimiento del uso de recursos basado en el tiempo durante la ejecución del pipeline, los gráficos y diagramas de estado están disponibles en QuickML para obtener una mejor comprensión de la ejecución por etapas y sus detalles. Estos gráficos también se pueden ampliar en editores basados en gráficos para tener un análisis más detallado de la ejecución. ![Process_stats](/images/help/quickml/pipeline-metric-viewer/Process_stats.webp) -------------------------------------------------------------------------------- title: "Endpoints de Pipeline" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.880Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/pipeline-endpoints/" service: "QuickML" -------------------------------------------------------------------------------- # QuickML Pipeline Endpoints # Endpoints El resultado principal de los pipelines de aprendizaje automático (ML) es **crear endpoints** que se pueden utilizar para realizar predicciones sobre nuevos datos. Estos endpoints se crean utilizando modelos de ML entrenados y se pueden utilizar para inferencia continua. Una vez que un modelo de ML está **desarrollado y entrenado**, los usuarios de QuickML pueden crear un endpoint con la última versión del modelo. Este endpoint se puede utilizar para realizar predicciones sobre nuevos datos. QuickML monitorea todos los endpoints para identificar áreas donde el modelo puede mejorarse. <br /> ### Versión del Modelo Publicada Una vez que se ha generado un modelo de aprendizaje automático utilizando el pipeline de QuickML, un usuario puede elegir **publicarlo** como un endpoint con una **versión específica del modelo**. Esto permite a los usuarios desplegar y utilizar el modelo para realizar predicciones precisas. Los modelos se versionan cada vez que hay un cambio en las configuraciones de las etapas del pipeline para la ejecución del pipeline. <br /> ### Model Tester Para verificar la precisión del modelo, se ha integrado un componente **Test the Model** con respecto a las versiones del modelo en el módulo de endpoints de QuickML, en el cual se pueden realizar solicitudes en vivo dentro de la aplicación web usando la Endpoint URL para probar la inferencia del modelo. <br /> ### Model Explanation Chart Cada característica de entrada en los datos utilizados para entrenar el modelo de aprendizaje automático tiene un impacto en las predicciones del modelo. Sin embargo, estos modelos exhiben el comportamiento de caja negra, lo que dificulta comprender cómo llegó a esas predicciones. Cuantificar la contribución de cada característica a la predicción final es un desafío, lo que dificulta nuestra comprensión del comportamiento del modelo. Para abordar este problema, QuickML ha creado un Model Explanation Chart. Este gráfico muestra el efecto en la predicción en el eje x y la lista de características en el eje y. Para cada característica, el efecto en la predicción se cuantifica mediante valores SHAP (SHapley Additive exPlanations), que explican la decisión del modelo de aprendizaje automático. Estos valores ayudan a comprender e interpretar las decisiones del modelo y aumentan la transparencia. La distribución de valores en el eje x indica si la característica respectiva tiene un impacto positivo o negativo en la predicción, junto con su puntuación. Este gráfico se encuentra en la página de detalles del endpoint, como se muestra a continuación. <br /> En resumen, el Model Explanation Chart en QuickML muestra la influencia de cada característica en el resultado de predicción final para una entrada dada. Video de referencia rápida sobre la vista del model explanation chart. <iframe src="https://workdrive.zohoexternal.com/embed/aw71qaca827e70c8a4c70917ac924336ca5be?toolbar=false&appearance=light&themecolor=green" scrolling="no" frameborder="0" allowfullscreen=true width="800" height="450" title="Embed code" ></iframe> Una descripción general rápida del model explanation chart ubicado en la página de detalles del endpoint muestra la puntuación de impacto de cada característica en la predicción en el cuadro de respuesta y la representación visual del impacto en el gráfico anterior. ## Autenticación de Endpoints Los endpoints en vivo se exponen a través de REST APIs desde el servicio QuickML y se pueden acceder con dos modos: - Autenticación externa OAuth2 - Autenticación interna ### Autenticación externa OAuth2 Los endpoints que se exponen como REST APIs se autentican con el mecanismo OAuth2 de Zoho accounts. Los usuarios pueden realizar las llamadas de predicción externamente generando los tokens desde la [consola](https://api-console.zoho.com/) de accounts. - **Directrices de predicción:** Para realizar las llamadas de REST API, el usuario debe proporcionar los siguientes detalles, - **Request URL:** Deployment Url proporcionada en los detalles - **HTTP Method:** POST - **Headers :** { 'X-QUICKML-ENDPOINT-KEY' : ************************, 'Authorization': 'Zoho-oauthtoken <access-token>', 'CATALYST-ORG': ******** 'Environment': , 'Development/Production' } Para generar un access token, sigue los pasos en este documento, - **Scope:** QuickML.deployment.READ -------------------------------------------------------------------------------- title: "Reconfiguración de Etapas" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.880Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/stage-reconfiguration/" service: "QuickML" -------------------------------------------------------------------------------- ### Comprendiendo la reconfiguración de etapas en los pipelines de QuickML Construir pipelines de aprendizaje automático a menudo implica encadenar múltiples operaciones, cada una dependiente del resultado de la anterior. En pipelines complejos con más de 20 etapas, modificar una sola etapa puede desencadenar cambios de configuración no deseados en las etapas posteriores. Esto puede llevar a un tedioso trabajo de reconfiguración, pérdida de configuraciones previas e interrupción del flujo de datos. Para abordar este desafío y simplificar el mantenimiento de flujos de trabajo complejos, QuickML introduce la **Stage Reconfiguration** del pipeline, un mecanismo automatizado que se ejecuta en segundo plano mientras construyes pipelines. ### ¿Qué es Stage Reconfiguration? Stage Reconfiguration es un mecanismo inteligente y guiado por el usuario en QuickML que identifica las etapas posteriores impactadas por un cambio en una etapa anterior. En lugar de restablecer automáticamente las configuraciones de todas las etapas sucesoras, el sistema presenta a los usuarios las etapas afectadas y opciones para reconfigurar, omitir o restablecer solo las etapas necesarias, permitiendo una gestión eficiente y controlada del pipeline. Esto asegura: - Impacto reducido de los cambios de configuración en las etapas subsiguientes, permitiendo un proceso de construcción de pipeline más fluido. - Transparencia sobre qué etapas están afectadas. - Flexibilidad para manejar cambios según las necesidades del negocio. Consideremos un escenario para entender el uso de la reconfiguración de etapas en tiempo real. Imagina una empresa minorista construyendo un pipeline de pronóstico de ventas en QuickML para analizar el rendimiento de productos en diferentes regiones. El pipeline incluye más de 25 etapas, cubriendo todo desde la ingesta de datos hasta la selección de algoritmos. En la versión inicial del pipeline, el equipo selecciona la columna amount en la Etapa 4 (Select Columns) y luego aplica una Type Conversion en la Etapa 7. Durante el refinamiento, un miembro del equipo decide eliminar la columna amount en la Etapa 4, creyendo que ya no es necesaria para el análisis. El mecanismo de Stage Reconfiguration de QuickML detecta instantáneamente que este cambio impacta la Etapa 7, que todavía depende de amount para la conversión de tipo. En lugar de restablecer todas las etapas subsiguientes, el sistema identifica la Etapa 7 como afectada y presenta opciones. Como la columna ya no es necesaria, el equipo simplemente elige omitir y fusionar la Etapa 7. Esto mantiene el pipeline válido y evita interrupciones innecesarias, demostrando cómo Stage Reconfiguration ayuda a los equipos a realizar cambios precisos sin rehacer todo el flujo. ### Tipos de Pipeline y Compatibilidad con Stage Reconfiguration Stage Reconfiguration se implementa en varios tipos de pipeline en QuickML, dependiendo de si el pipeline soporta etapas editables y configurables por el usuario. El mecanismo es especialmente útil en pipelines de modo Classic, donde los cambios realizados en una etapa pueden afectar directamente las etapas subsiguientes y requieren reconfiguración. Esta reconfiguración se activa típicamente solo cuando hay un cambio de Schema (como agregar, eliminar o renombrar columnas) o un cambio de Value que afecta cómo se procesan los datos en las etapas siguientes. Sin embargo, en pipelines de modo Smart, esta función típicamente no es necesaria, porque las etapas no involucran configuración manual. En lugar de restablecer o reconfigurar, el modo Smart maneja las actualizaciones a través de una simple re-ejecución ya que la lógica permanece consistente y controlada por el sistema. La tabla a continuación describe qué tipos de pipeline soportan Stage Reconfiguration y explica la razón de su aplicabilidad o exclusión en cada caso: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">Tipo de Pipeline</th> <th style="text-align:left; width:25%;">Stage Reconfiguration Aplicable</th> <th style="text-align:center; width:50%;">Razón</th> </tr> </thead> <tbody> <tr> <td style="text-align:left">Data Transformation</td> <td style="text-align:left">Sí</td> <td style="text-align:left">Las etapas son configurables por el usuario; se soporta la reconfiguración</td> </tr> <tr> <td style="text-align:left">Prediction</td> <td style="text-align:left">Sí</td> <td style="text-align:left">Las etapas son configurables por el usuario; se soporta la reconfiguración</td> </tr> <tr> <td style="text-align:left">Text Analytics</td> <td style="text-align:left">Solo en modo Classic</td> <td style="text-align:left">En modo Smart, no se requieren ediciones a nivel de etapa</td> </tr> <tr> <td style="text-align:left">Recommendation</td> <td style="text-align:left">Sí</td> <td style="text-align:left">Las etapas son configurables por el usuario; se soporta la reconfiguración</td> </tr> <tr> <td style="text-align:left">Forecasting</td> <td style="text-align:left">No</td> <td style="text-align:left">Usa modo Smart por defecto; no se requieren ediciones a nivel de etapa</td> </tr> <tr> <td style="text-align:left">Clustering</td> <td style="text-align:left">Sí</td> <td style="text-align:left">Las etapas son configurables por el usuario; se soporta la reconfiguración</td> </tr> <tr> <td style="text-align:left">Anomaly Detection</td> <td style="text-align:left">No</td> <td style="text-align:left">Usa modo Smart por defecto; no se requieren ediciones a nivel de etapa</td> </tr> </tbody> </table> ### Proceso de trabajo de la reconfiguración de etapas Cuando realizas un cambio en una etapa del pipeline, QuickML verifica automáticamente si este cambio impacta las configuraciones de las etapas que siguen. Dependiendo de lo que hayas cambiado, hay dos resultados posibles. **Caso 1: El cambio no tiene impacto en las configuraciones de etapas subsiguientes** Si tu cambio no altera el schema del dataset utilizado en las etapas subsiguientes, QuickML reconocerá que esas etapas siguen siendo válidas. Sin embargo, para mantener la consistencia en el pipeline, el sistema re-ejecutará las etapas subsiguientes. En este caso, verás dos opciones: - **Ignore and Reset All** - Esto restablece las configuraciones de todas las etapas subsiguientes, aunque no estén afectadas por tu cambio. - **Proceed** - Esto re-ejecuta las etapas subsiguientes usando sus configuraciones existentes sin requerir ningún retrabajo. Por ejemplo, supón que en la Etapa 2 usas una operación de **Select/Drop** Columns para eliminar una columna llamada **membership_category**, que no se usa en ninguna de las etapas subsiguientes. Como ninguna de las etapas posteriores depende de esta columna, tu cambio no impacta su configuración. En este caso, QuickML reconoce que el schema de las etapas subsiguientes permanece intacto. Simplemente puedes elegir proceder, y el pipeline se re-ejecutará sin requerir ninguna reconfiguración. **Caso 2: El cambio impacta las configuraciones de etapas subsiguientes** Si tu cambio afecta el schema del dataset utilizado en etapas posteriores, QuickML resaltará qué etapas están impactadas. Luego se te darán un conjunto de opciones mencionadas a continuación para controlar cómo deseas manejar las etapas afectadas: - **Ignore and Reset All** - Esto ignora las configuraciones de todas las etapas impactadas y las restablece. - **Configure Now** - Esto abre un pop-up que lista las etapas afectadas y te muestra qué ha cambiado exactamente. Dentro del pop-up de configuración, puedes: - **Review and Edit** cada etapa impactada para actualizar la configuración basándote en tu cambio reciente. - **Cancel** para deshacer el cambio que acabas de realizar, llevando el pipeline a su estado anterior. - **Skip and Merge** una etapa si ya no es necesaria en el nuevo flujo. - **Discard** - Esto revierte el cambio realizado en la etapa actual y restaura su configuración original, deshaciendo efectivamente la edición que acabas de aplicar. Esto es útil cuando deseas cancelar el cambio reciente debido a su impacto en el resto del pipeline. Aquí hay un ejemplo: Supón que en la Etapa 2 usas una operación de **Select Columns** para incluir la columna churn_risk_score, y en la Etapa 4 aplicas una **Type Conversion** a esa columna. Si eliminas la columna churn_risk_score en la Etapa 2, la Etapa 4 se romperá porque depende de esa columna. QuickML detectará esto y te mostrará que la Etapa 4 está afectada. Luego tendrás la opción de volver a agregar la columna en la Etapa 2, actualizar la Etapa 4 para usar una columna diferente, u omitir la Etapa 4 completamente si ya no es necesaria. Este enfoque te da control total sobre cómo manejar los cambios sin perder trabajo previo innecesariamente. También te ayuda a evitar la reconfiguración que consume tiempo al enfocarte solo en lo que realmente necesita tu atención. ### Casos Especiales por Etapa **Comportamiento de columnas agregadas en la etapa Select/Drop**: Las columnas agregadas durante la reconfiguración no impactarán la configuración de las etapas subsiguientes. Sin embargo, se listarán en el menú desplegable de Select Columns de cualquier etapa afectada, permitiéndote incluirlas si es necesario. **Comportamiento de columnas eliminadas en la etapa Merge Columns**: Si una columna eliminada se utilizaba previamente en una operación de Merge Columns, debes iniciar la reconfiguración comenzando desde la etapa de Merge Columns para limpiar la dependencia y actualizar la configuración correspondientemente. **Comportamiento de columnas eliminadas en la etapa Split Columns**: Si una columna eliminada se usa en Split Columns y se comparte entre dos salidas, se mostrarán dos capas de reconfiguración separadas basadas en cómo se modificó la columna. **Impacto de Add Dataset**: Los cambios en la etapa Add Dataset pueden impactar todo el pipeline. <u>**Puntos a recordar**</u> Para aprovechar al máximo la función de reconfiguración de etapas, es importante tener en cuenta los siguientes puntos clave durante su uso. - **Manejo de recarga de página**: Recargar la página durante la configuración de etapas te solicitará revertir todos los cambios o reanudar desde donde lo dejaste. - **Efecto de acciones de eliminación**: Delete Connection y Delete Stage restablecen las configuraciones de las etapas sucesoras a sus valores predeterminados. - **Cancelación de reconfiguración**: Cancelar la reconfiguración durante la re-ejecución revertirá todos los cambios intermedios. -------------------------------------------------------------------------------- title: "Limitaciones de QuickML" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.880Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/quickml-limitations/" service: "QuickML" -------------------------------------------------------------------------------- # Limitaciones de QuickML 1. ### Límites de Entidades <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">Número máximo de datasets que se pueden crear</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">Número máximo de pipelines que se pueden crear</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">Número máximo de endpoints que se pueden crear</th> <td style="text-align:center">10</td> </tr> <tr> <th style="text-align:center">Número de columnas que se pueden configurar en una sola operación de etapa en el builder</th> <td style="text-align:center">25</td> </tr> </tbody> </table> 2. ### Vista previa de muestra del Dataset **Sección de vista previa de detalles del dataset** <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">Número de columnas que se pueden ver</th> <td style="text-align:center">50</td> </tr> <tr> <th style="text-align:center">Número de registros que se pueden ver</th> <td style="text-align:center">250</td> </tr> </tbody> </table> **Sección de vista previa del Pipeline Builder** <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">Número de columnas que se pueden ver</th> <td style="text-align:center">50</td> </tr> <tr> <th style="text-align:center">Número de registros que se pueden ver</th> <td style="text-align:center">250</td> </tr> </tbody> </table> 3. ### Límites de Visualización <table class="content-table" style="width:900px;"> <tbody> <tr> <th style="text-align:center">Número máximo de visualizaciones que se pueden crear</th> <td style="text-align:center">5 por versión de dataset</td> </tr> <tr> <th style="text-align:center">Máximo de puntos de datos en la vista previa del gráfico</th> <td style="text-align:center">2000 registros</td> </tr> <tr> <th style="text-align:center">Máximo de puntos de datos en el gráfico</th> <td style="text-align:center">25000 registros</td> </tr> <tr> <th style="text-align:center">Número máximo de categorías mostradas en un gráfico. Ej. Composition chart: Categoría vs Conteo</th> <td style="text-align:center">Se mostrarán las 19 categorías principales, * El resto se agruparán en una categoría llamada "Others" (ej., Pie, Funnel, etc.).</td> </tr> <tr> <th style="text-align:center">Número máximo de series o líneas de tendencia mostradas en gráficos de líneas</th> <td style="text-align:center">100</td> </tr> <tr> <th style="text-align:center">Correlation heatmap para número máximo de columnas</th> <td style="text-align:center">25</td> </tr> <tr> <th style="text-align:center">Visualización de etapa en el pipeline builder utiliza número máximo de registros</th> <td style="text-align:center">250</td> </tr> <tr> <th style="text-align:center">Eventos de gráfico no disponibles</th> <td style="text-align:center">Si cualquier serie individual tiene más de 8000 puntos</td> </tr> </tbody> </table> 4. ### Limitaciones de Fuentes de Datos <table class="content-table" style="width:700px;"> <thead> <tr> <th style="text-align:center">Fuente</th> <th style="text-align:center">Restricciones</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">Zoho apps</td> <td style="text-align:center">200K registros</td> </tr> </tr> <tr> <td style="text-align:center">La capacidad de importación periódica para CRM, Bigin y Recruit</td> <td style="text-align:center">un millón de registros</td> </tr> <tr> <td style="text-align:center">Cloud Data Storages (Object Storages)</td> <td style="text-align:center">1GB de tamaño</td> </tr> <tr> <td style="text-align:center">Databases</td> <td style="text-align:center">100K registros</td> </tr> <tr> <td style="text-align:center">File Upload</td> <td style="text-align:center">1 GB de tamaño</td> </tr> </tbody> </table> 6. #### Puntos a recordar <table class="content-table" style="width:700px;"> <tbody> <tr> <th style="text-align:center">Local File System</th> <td style="text-align:center">Las características del dataset se nombrarán col_0, col_1, col_2, etc., si se cargan sin nombres de columnas.</td> </tr> <tr> <th style="text-align:center">Reglas en feature engineering</th> <td style="text-align:center">Los nombres de características no deben contener [, ], o <, ></td> </tr> </tbody> </table> ### Algoritmos de ML -------------------------------------------------------------------------------- title: "Algoritmos de Clasificación" 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-07-02T09:34:15.885Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/classification-algorithms/" service: "QuickML" -------------------------------------------------------------------------------- <!-- ### ML Algorithms QuickML ML operations are categorized into multiple sections. All of these operations are available as stages in Pipeline Builder as mentioned and the main categories are: 1. **Algorithms** - Classification algorithms - Regression algorithms 2. **Encoding** 3. **Imputation** 4. **Binning** 5. **Transformers** 6. **Data type detection** 7. **DType transformation** 8. **Feature generation** All the operations listed above have detailed categories and their own use cases in the ML pipeline environment. Those can be checked in detail in upcoming pipeline articles. --> # 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: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">Parámetro</th> <th class="w35p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>base_estimator</td> <td>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.</td> <td>object</td> <td>Cualquier modelo de clasificación excepto el modelo KNN Classification</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(number of estimators)</td> <td>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.</td> <td>int</td> <td>[1, 500]</td> <td>50</td> </tr> <tr> <td>learning_rate</td> <td>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.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>algorithm</td> <td>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.</td> <td>string</td> <td>{'SAMME', 'SAMME.R'}</td> <td>'SAMME.R'</td> </tr> </tbody> </table> 2. ### CatBoost Classification CatBoost se basa en árboles de decisión con gradient boosting. Durante el entrenamiento, se construye un conjunto de árboles de decisión consecutivamente. Cada árbol sucesivo se construye con una pérdida reducida en comparación con los árboles anteriores. El número de árboles se controla mediante los parámetros iniciales. <br /> Esta clasificación tiene un **tiempo de predicción mucho menor** en comparación con otros. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w25p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>learning_rate</td> <td>Se utiliza para reducir el paso del gradiente.</td> <td>float</td> <td>(0,1]</td> <td>0.03</td> </tr> <tr> <td>l2_leaf_reg (l2_leaf_regularization)</td> <td>Coeficiente del término de regularización L2 de la función de costo.</td> <td>float</td> <td>[0,+inf)</td> <td>3.0</td> </tr> <tr> <td>rsm (random subspace method)</td> <td>El porcentaje de características a usar en cada selección de división, cuando las características se seleccionan nuevamente de forma aleatoria</td> <td>float</td> <td>(0,1]</td> <td>None</td> </tr> <tr> <td>loss_function</td> <td>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.</td> <td>string</td> <td>{&#39;Logloss&#39;, &#39;CrossEntropy&#39;, &#39;MultiClass&#39;, &#39;MultiClassOneVsAll&#39;}</td> <td>&#39;MultiClass&#39;</td> </tr> <tr> <td>nan_mode</td> <td>El método para procesar valores faltantes en el conjunto de datos de entrada.</td> <td>string</td> <td>{&#39;Forbidden&#39;, &#39;Min&#39;, &#39;Max&#39;}</td> <td>Min</td> </tr> <tr> <td>leaf_estimation_method</td> <td>El método utilizado para calcular los valores en las hojas.</td> <td>string</td> <td>{&quot;Newton&quot;, &quot;Gradient&quot;}</td> <td>None</td> </tr> <tr> <td>score_function</td> <td>El tipo de puntuación utilizado para seleccionar la siguiente división durante la construcción del árbol.</td> <td>string</td> <td>{L2, Cosine}</td> <td>Cosine</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima del árbol.</td> <td>int</td> <td>[1,+Inf)</td> <td>None</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>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</td> <td>int</td> <td>[1, 500]</td> <td>None</td> </tr> </tbody> </table> 3. ### Decision-Tree Classification El árbol de decisión construye modelos de clasificación o regresión en forma de estructura de árbol. Descompone un conjunto de datos en subconjuntos cada vez más pequeños, mientras que al mismo tiempo se desarrolla incrementalmente un árbol de decisión asociado. Los árboles de decisión pueden manejar **tanto datos categóricos como numéricos**. Al predecir el valor de salida de un conjunto de características, predecirá la salida basándose en el subconjunto en el que cae el conjunto de características. #### Hiperparámetros <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w10p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>criterion</td> <td>La función para medir la calidad de una división.</td> <td>string</td> <td>{"gini", "entropy"}</td> <td>"gini"</td> </tr> <tr> <td>splitter</td> <td>La estrategia utilizada para elegir la división en cada nodo.</td> <td>string</td> <td>{"best", "random"}</td> <td>"best"</td> </tr> <tr> <td>max_depth</td> <td>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.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno.</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>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.</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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.</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>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.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> </tbody> </table> 4. ### GB Classification La clasificación por gradient-boosting calcula la diferencia entre la predicción actual y el valor objetivo correcto conocido. Esta diferencia se llama residuo. Después de encontrar este valor, el clasificador gradient-boosting entrena un modelo débil (Árbol de Decisión) que mapea características a ese residuo. Este residuo predicho por un modelo débil se añade a la entrada del modelo existente y así este proceso empuja al modelo hacia el objetivo correcto. Repetir este paso múltiples veces mejora la predicción general del modelo. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>loss</td> <td>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.</td> <td>string</td> <td>{&#39;deviance&#39;, &#39;exponential&#39;}</td> <td>&#39;deviance&#39;</td> </tr> <tr> <td>learning_rate</td> <td>La tasa de aprendizaje reduce la contribución de cada árbol por learning_rate. Existe un equilibrio entre learning_rate y n_estimators.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>El número de etapas de boosting a realizar.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>La función para medir la calidad de una división.</td> <td>string</td> <td>{&#39;friedman_mse&#39;, &#39;mse&#39;, &#39;mae&#39;}</td> <td>'friedman_mse'</td> </tr> <tr> <td>subsample</td> <td>La fracción de muestras a usar para ajustar los aprendices base individuales.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>max_depth</td> <td>La profundidad máxima de los estimadores de regresión individuales.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>El número mínimo de muestras requeridas para estar en un nodo hoja.</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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.</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>init</td> <td>Un objeto estimador que se utiliza para calcular las predicciones iniciales.</td> <td>object or string</td> <td>estimador (Cualquier modelo de clasificación excepto SVM classification y catboost) o 'zero'</td> <td>None</td> </tr> <tr> <td>warm_start</td> <td>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.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>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.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> </tbody> </table> 5. ### KNN Classification KNN funciona encontrando las distancias entre una consulta (instancia de datos) y todos los ejemplos en los datos, seleccionando el número especificado de ejemplos (K) más cercanos a la consulta, y luego votando por la etiqueta más frecuente en el vecindario. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">Parámetro</th> <th class="w35p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>n_neighbors<br>(number of neighbours)</td> <td>Número de vecinos a usar por defecto para consultas kneighbors.</td> <td>int</td> <td>[1, n]<br> n = Número total de registros en el conjunto de datos</td> <td>5</td> </tr> <tr> <td>weights</td> <td>Función de peso utilizada en la predicción. Valores posibles</td> <td>string</td> <td>{'uniform', 'distance'}</td> <td>'uniform'</td> </tr> <tr> <td>algorithm</td> <td>Algoritmo utilizado para calcular los vecinos más cercanos.</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>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.</td> <td>int</td> <td> (1, +Inf)</td> <td>30</td> </tr> <tr> <td>p</td> <td>Parámetro de potencia para la métrica de Minkowski.</td> <td>int</td> <td>[1,3]</td> <td>2</td> </tr> <tr> <td>metric</td> <td>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.</td> <td>string</td> <td>{'cityblock', 'cosine', &#39;euclidean&#39;, &#39;l1&#39;, &#39;l2&#39;, &#39;manhattan&#39;, &#39;nan_euclidean&#39;, 'minkowski'}</td> <td>'minkowski'</td> </tr> </tbody> </table> 6. ### LGBM Classification LGBM funciona comenzando con una estimación inicial que se actualiza usando la salida de cada árbol. El parámetro de aprendizaje controla la magnitud de este cambio en las estimaciones. Se puede usar en cualquier dato y proporciona un alto grado de precisión, ya que contiene muchos pasos de preprocesamiento integrados. El algoritmo LightGBM crece verticalmente, lo que significa que crece por hojas, mientras que otros algoritmos crecen por niveles. LightGBM elige la hoja con la mayor pérdida para crecer. Puede reducir más la pérdida que un algoritmo por niveles al hacer crecer la misma hoja. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>boosting_type</td> <td>Método de boosting.</td> <td>string</td> <td>{'gbdt', 'dart', 'goss' }</td> <td>&#39;gbdt&#39;</td> </tr> <tr> <td>num_leaves</td> <td>Hojas máximas del árbol para aprendices base.</td> <td>int</td> <td>(1, +Inf)</td> <td>31</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima del árbol para aprendices base, &lt;= 0 significa sin límite.</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>-1</td> </tr> <tr> <td>learning_rate</td> <td>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.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>Número de árboles potenciados a ajustar.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>subsample_for_bin</td> <td>Número de muestras para construir bins.</td> <td>int</td> <td>(0, +Inf)</td> <td>200000</td> </tr> <tr> <td>min_split_gain</td> <td>Reducción mínima de pérdida requerida para hacer una partición adicional en un nodo hoja del árbol.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>min_child_weight</td> <td>Suma mínima del peso de la instancia (Hessiano) necesaria en un hijo (hoja).</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>min_child_samples</td> <td>Número mínimo de datos necesarios en un hijo (hoja).</td> <td>int</td> <td>[0, +Inf)</td> <td>20</td> </tr> <tr> <td>subsample</td> <td>Proporción de submuestreo de la instancia de entrenamiento.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>subsample_freq (subsample_frequency)</td> <td>Frecuencia de submuestreo, &lt;= 0 significa no habilitado.</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>Proporción de submuestreo de columnas al construir cada árbol.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>Término de regularización L1 en los pesos.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>Término de regularización L2 en los pesos.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>importance_type</td> <td>El tipo de importancia de característica a llenar en feature<em>importances</em>. 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.</td> <td>string</td> <td>{ 'gain', &#39;split&#39;}</td> <td>&#39;split&#39;</td> </tr> </tbody> </table> 7. ### Logistic Regression Cuando el objetivo es un **valor binario**, podemos usar la clasificación logística. Mapea el valor entre 0 y 1. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w20p">Parámetro</th> <th class="w35p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>penalty</td> <td>Especifica la norma de la penalización:<ul style="text-align: left;"><li><strong>&#39;none&#39;</strong>: no se añade penalización;<li><strong>&#39;l2&#39;</strong>: añade un término de penalización L2 y es la opción predeterminada;<li><strong>&#39;l1&#39;</strong>: añade un término de penalización L1;<li><strong>&#39;elasticnet&#39;</strong>: se añaden tanto términos de penalización L1 como L2.</ul></td> <td>string</td> <td>{ 'l1', 'l2', 'elasticnet', 'none'}</td> <td>'l2'</td> </tr> <tr> <td>dual</td> <td>Formulación dual o primal. La formulación dual solo está implementada para la penalización l2 con el solver liblinear.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>Tolerancia para los criterios de parada.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>C</td> <td>Inverso de la fuerza de regularización; debe ser un float positivo.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>solver</td> <td>Algoritmo a usar en el problema de optimización.</td> <td>string</td> <td>{ 'newton-cg', 'lbfgs', 'liblinear', 'sag', 'saga' }</td> <td>'lbfgs'</td> </tr> <tr> <td>fit_intercept</td> <td>Especifica si una constante (también conocida como sesgo o intercepto) debe añadirse a la función de decisión.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>l1_ratio</td> <td>El parámetro de mezcla Elastic-Net, con<br>0 &lt;= l1_ratio &lt;= 1. Solo se usa si penalty=&#39;elasticnet&#39;.</td> <td>float</td> <td>[0, 1]</td> <td>None</td> </tr> <tr> <td>multi_class</td> <td>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.</td> <td>string</td> <td>{&#39;auto&#39;, &#39;ovr&#39;, &#39;multinomial&#39;}</td> <td>&#39;auto&#39;</td> </tr> <tr> <td>intercept_scaling</td> <td>Ú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.</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> </tbody> </table> Nota: Los valores en el parámetro "solver" soportan solo algunos de los valores del parámetro "penalty". Las penalizaciones soportadas por el solver se mencionan a continuación: * newton-cg' - ['l2', 'none'] * 'lbfgs' - ['l2', 'none'] * 'liblinear' - ['l1', 'l2'] * 'sag' - ['l2', 'none'] * 'saga' - ['elasticnet', 'l1', 'l2', 'none'] 8. ### Naive Bayes Classification Naive Bayes es un clasificador que utiliza el **Teorema de Bayes**. Predice probabilidades de membresía para cada clase, como la probabilidad de que un registro o punto de datos dado pertenezca a una clase particular. La clase con la mayor probabilidad se considera como la clase más probable. 9. ### Random-Forest Classification El bosque aleatorio es un algoritmo de clasificación que consiste en muchos árboles de decisión. Utiliza bagging y aleatoriedad de características al construir árboles individuales para intentar crear un bosque no correlacionado de árboles cuya predicción por comité es más precisa que la de cualquier árbol individual. Bagging es un meta-estimador de conjunto que ajusta clasificadores/regresores base en subconjuntos aleatorios del conjunto de datos original, luego agrega sus predicciones individuales (ya sea por votación o por promediado) para formar una predicción final. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w20p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>n_estimators<br> (number of estimators)</td> <td>El número de árboles en el bosque.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>La función para medir la calidad de una división.</td> <td>string</td> <td>{"gini", "entropy"}</td> <td>"gini"</td> </tr> <tr> <td>max_depth</td> <td>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.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>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.</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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.</td> <td>float</td> <td>[0, 0.5]</td> <td>0.0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>bootstrap</td> <td>Si se usan muestras bootstrap al construir árboles. Si es False, se usa el conjunto de datos completo para construir cada árbol.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>oob_score(out of bag score)</td> <td>Si se usan muestras fuera de la bolsa para estimar la puntuación de generalización. Solo disponible si bootstrap=True.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>warm_start</td> <td>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.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 10. ### SVM Classification SVM, o Support Vector Machine, es un modelo lineal para problemas de clasificación y regresión. Puede resolver problemas lineales y no lineales y funciona bien para muchos problemas prácticos. La idea de SVM es simple: El algoritmo crea una línea o un hiperplano que separa los datos en clases. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w35p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>C</td> <td>Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>Especifica el tipo de kernel a utilizar en el algoritmo. Si no se proporciona ninguno, se usará 'rbf'.</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>Grado de la función kernel polinómica ('poly'). Ignorado por todos los demás kernels.</td> <td>int</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'.</td> <td>string or float</td> <td>{'scale', 'auto'} or (0.0, +Inf)</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>Término independiente en la función kernel. Solo es significativo en 'poly' y 'sigmoid'.</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>0.0</td> </tr> <tr> <td>shrinking</td> <td>Si se debe usar la heurística de reducción.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>probability</td> <td>Si se deben habilitar las estimaciones de probabilidad.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>Tolerancia para el criterio de parada.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>decision_function_shape</td> <td>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).</td> <td>string</td> <td>{'ovo', 'ovr'}</td> <td>'ovr'</td> </tr> <tr> <td>break_ties</td> <td>Si es verdadero, decision_function_shape=&#39;ovr&#39;, y el número de clases &gt; 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.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 11. ### XGB Classification XGBoost es una biblioteca de gradient boosting distribuido optimizada diseñada para ser altamente eficiente, flexible y portable. Implementa algoritmos de aprendizaje automático bajo el framework de Gradient Boosting. Proporciona boosting paralelo de árboles para resolver muchos problemas de ciencia de datos de forma rápida y precisa. Utiliza regularización L1 y L2 para predecir puntos y es rápido en el entrenamiento. Cada modelo tiene Fit (para entrenar el modelo), predict (para predecir nuevos datos), get metrics (para obtener la precisión del modelo y otras métricas), y feature_importances (importancias de las características de entrada para la predicción). Los principios de funcionamiento básicos de Adaboost, CatBoost, Decision tree, Gradient boost(GB), LGBM, RandomForest, SVM y XGB son casi idénticos tanto para regresión como para clasificación. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>booster</td> <td>Decide qué booster usar.</td> <td>string</td> <td>{'gbtree&#39;, &#39;gblinear&#39;, &#39;dart&#39; }</td> <td>'gbtree'</td> </tr> <tr> <td>learning_rate</td> <td>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.</td> <td>float</td> <td>[0,1]</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>Número de árboles a ajustar.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>objective</td> <td>Regresión logística para clasificación binaria.</td> <td>string</td> <td>Mencionado debajo de la tabla.</td> <td>&quot;binary:logistic&quot;</td> </tr> <tr> <td>subsample</td> <td>Controla la proporción de la muestra.</td> <td>int</td> <td>(0,1]</td> <td>1</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima de un árbol.</td> <td>int</td> <td>(0, +Inf)</td> <td>3</td> </tr> <tr> <td>max_delta_step</td> <td>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.</td> <td>int or float</td> <td>[0, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>Fracción de muestras aleatorias de columnas.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>colsample_bylevel (column sample by level)</td> <td>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.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>min_child_weight</td> <td>Suma mínima de pesos.</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>Término de regularización L1 en los pesos.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>Término de regularización L2 en los pesos.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>scale_pos_weight (scale positive weight)</td> <td>Controla el equilibrio de pesos positivos y negativos, útil para clases desequilibradas.</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> </tbody> </table> **VALORES POSIBLES PARA EL PARÁMETRO "OBJECTIVE":** {binary:logistic, binary:logitraw, binary:hinge, multi:softmax, multi:softprob} -------------------------------------------------------------------------------- title: "Algoritmos de Regresión" 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-07-02T09:34:15.886Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/regression-algorithms/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de regresión La regresión es la tarea de predecir una cantidad continua. QuickML cuenta con los siguientes algoritmos de regresión 1. ### AdaBoost Regression 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 regresión comienza ajustando un regresor en el conjunto de datos original, seguido del ajuste de copias adicionales del regresor 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 regresores subsiguientes se centran más en los casos difíciles. El boosting en aprendizaje automático es una forma de combinar múltiples modelos simples en un solo modelo compuesto. Por eso el boosting se conoce como un modelo aditivo, ya que los modelos simples (también conocidos como aprendices débiles) se añaden uno a la vez, mientras se mantienen los árboles existentes en el modelo sin cambios. A medida que combinamos más y más modelos simples, el modelo final completo se convierte en un predictor más fuerte. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>base_estimator</td> <td>El estimador base a partir del cual se construye el conjunto potenciado. Si es None, entonces el estimador base es DecisionTreeRegressor inicializado con max_depth=3.</td> <td>object</td> <td>Cualquier modelo de regresión</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(number of estimators)</td> <td>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.</td> <td>int</td> <td>[1, 500]</td> <td>50</td> </tr> <tr> <td>learning_rate</td> <td>Peso aplicado a cada regresor en cada iteración de boosting. Una tasa de aprendizaje más alta aumenta la contribución de cada regresor.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>loss</td> <td>La función de pérdida a usar cuando se actualizan los pesos después de cada iteración de boosting.</td> <td>string</td> <td>{'linear', 'square', 'exponential'}</td> <td>&quot;linear&quot;</td> </tr> </tbody> </table> 2. ### CatBoost Regression CatBoost se basa en árboles de decisión con gradient boosting. Durante el entrenamiento, se construye un conjunto de árboles de decisión consecutivamente. Cada árbol sucesivo se construye con una pérdida reducida en comparación con los árboles anteriores. El número de árboles se controla mediante los parámetros iniciales. Tiene un tiempo de predicción mucho menor en comparación con otros. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>learning_rate</td> <td>La tasa de aprendizaje utilizada para el entrenamiento.</td> <td>float</td> <td>(0,1]</td> <td>0.03</td> </tr> <tr> <td>l2_leaf_reg (l2_leaf_regularization)</td> <td>Coeficiente del término de regularización L2 de la función de costo.</td> <td>float</td> <td>[0,+Inf)</td> <td>3.0</td> </tr> <tr> <td>rsm (random subspace method)</td> <td>El porcentaje de características a usar en cada selección de división, cuando las características se seleccionan nuevamente de forma aleatoria.</td> <td>float</td> <td>(0,1]</td> <td>None</td> </tr> <tr> <td>loss_function</td> <td>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.</td> <td>string</td> <td>{&#39;RMSE&#39;, &#39;MAE&#39;, &#39;Quantile:alpha=value, &#39;LogLinQuantile: alpha=value&#39;, &#39;Poisson&#39;, &#39;MAPE&#39;, &#39;Lq:q=value&#39;, &#39;SurvivalAft:dist=value; scale=value&#39;} Note : range of value = [0, 1]</td> <td>&#39;RMSE&#39;</td> </tr> <tr> <td>nan_mode</td> <td>El método para procesar valores faltantes en el conjunto de datos de entrada.</td> <td>string</td> <td>{&#39;Forbidden&#39;, &#39;Min&#39;, &#39;Max&#39;}</td> <td>Min</td> </tr> <tr> <td>leaf_estimation_method</td> <td>El método utilizado para calcular los valores en las hojas.</td> <td>string</td> <td>{&quot;Newton&quot;, &quot;Gradient&quot;}</td> <td>None</td> </tr> <tr> <td>score_function</td> <td>El tipo de puntuación utilizado para seleccionar la siguiente división durante la construcción del árbol.</td> <td>string</td> <td>{L2, Cosine}</td> <td>Cosine</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima del árbol.</td> <td>int</td> <td>[1,+Inf)</td> <td>None</td> </tr> <tr> <td>n_estimators <br>(number of estimators)</td> <td>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.</td> <td>int</td> <td>[1, 500]</td> <td>None</td> </tr> </tbody> </table> 3. ### Decision-Tree Regression El árbol de decisión construye modelos de clasificación o regresión en forma de estructura de árbol. Descompone un conjunto de datos en subconjuntos cada vez más pequeños mientras que al mismo tiempo se desarrolla incrementalmente un árbol de decisión asociado. Los árboles de decisión pueden manejar tanto datos categóricos como numéricos. Al predecir el valor de salida de un conjunto de características, predecirá la salida basándose en el subconjunto en el que cae el conjunto de características. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>criterion</td> <td>La función para medir la calidad de una división.</td> <td>string</td> <td>{&quot;mse&quot;, &quot;friedman_mse&quot;, &quot;mae&quot;}</td> <td>&quot;mse"</td> </tr> <tr> <td>splitter</td> <td>La estrategia utilizada para elegir la división en cada nodo.</td> <td>string</td> <td>{"best", "random"}</td> <td>"best"</td> </tr> <tr> <td>max_depth</td> <td>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.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>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.</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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.</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"},</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>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.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> </tbody> </table> 4. ### ElasticNet Regression Elastic net es un tipo popular de regresión lineal regularizada que combina dos funciones de penalización populares, específicamente las penalizaciones L1 (Lasso Regression) y L2 (Ridge Regression). Elastic Net es una extensión de la regresión lineal que añade penalizaciones de regularización a la función de pérdida durante el entrenamiento. La regularización es una técnica para prevenir que el modelo se sobreajuste añadiendo información extra al mismo. En la técnica de regularización, reducimos la magnitud de las características manteniendo el mismo número de características. A veces, la regresión lasso puede causar un pequeño sesgo (diferencia entre el valor predicho y el real) en el modelo donde la predicción depende demasiado de una variable particular. En estos casos, elastic net demuestra un mejor rendimiento al combinar la regularización tanto de lasso como de ridge regression. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>Constante que multiplica los términos de penalización.</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>l1_ratio</td> <td>El parámetro de mezcla ElasticNet, con<br>0 &lt;= l1_ratio &lt;= 1.<br> Para l1_ratio = 0 la penalización es una penalización L2.<br> Para l1_ratio = 1 es una penalización L1.<br> Para 0 &lt; l1_ratio &lt; 1, la penalización es una combinación de L1 y L2.</td> <td>float</td> <td>[0, 1]</td> <td>0.5</td> </tr> <tr> <td>fit_intercept</td> <td>Si se debe estimar el intercepto o no.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>La tolerancia para la optimización: si las actualizaciones son más pequeñas que tol, el código de optimización verifica el gap dual para la optimalidad y continúa hasta que sea más pequeño que tol.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>warm_start</td> <td>Cuando se establece en True, reutiliza la solución de la llamada anterior a fit como inicialización, de lo contrario, simplemente borra la solución anterior.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>positive</td> <td>Cuando se establece en True, fuerza a los coeficientes a ser positivos.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>selection</td> <td>Si se establece en 'random', un coeficiente aleatorio se actualiza en cada iteración en lugar de recorrer las características secuencialmente por defecto.</td> <td>string</td> <td>{&quot;cyclic&quot;, &quot;random&quot;}</td> <td>&quot;cyclic&quot;</td> </tr> </tbody> </table> 5. ### GB Regression La regresión por gradient-boosting calcula la diferencia entre la predicción actual y el valor objetivo correcto conocido. Esta diferencia se llama residuo. Después de obtener este valor, la regresión gradient-boosting entrena un modelo débil (Árbol de Decisión) que mapea características a ese residuo. Este residuo predicho por un modelo débil se añade a la entrada del modelo existente, empujando al modelo hacia el objetivo correcto. Repetir este paso múltiples veces mejora la predicción general del modelo. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>loss</td> <td>Función de pérdida a optimizar. 'ls' se refiere a la regresión de mínimos cuadrados. 'lad' (desviación absoluta mínima) es una función de pérdida altamente robusta basada únicamente en la información de orden de las variables de entrada. 'huber' es una combinación de ambas. 'quantile' permite la regresión cuantílica (use alpha para especificar el cuantil).</td> <td>string</td> <td>{&#39;ls&#39;, &#39;lad&#39;, &#39;huber&#39;, &#39;quantile&#39;}</td> <td>'ls'</td> </tr> <tr> <td>learning_rate</td> <td>La tasa de aprendizaje reduce la contribución de cada árbol por learning_rate.</td> <td>float</td> <td>(0.0, +inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>El número de etapas de boosting a realizar. El gradient boosting es bastante robusto al sobreajuste, por lo que un número grande generalmente resulta en mejor rendimiento.</td> <td>int</td> <td>[1, 500)</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>La función para medir la calidad de una división.</td> <td>string</td> <td>{&#39;friedman_mse&#39;, &#39;mse&#39;, &#39;mae&#39;}</td> <td>'friedman_mse'</td> </tr> <tr> <td>subsample</td> <td>La fracción de muestras a usar para ajustar los aprendices base individuales.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima de los estimadores de regresión individuales. La profundidad máxima limita el número de nodos en el árbol.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>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.</td> <td>int or float</td> <td> [1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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.</td> <td>float</td> <td>[0, 0.5]</td> <td>0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>init</td> <td>Un objeto estimador que se utiliza para calcular las predicciones iniciales. init debe proporcionar fit y predict. Si es 'zero', las predicciones brutas iniciales se establecen en cero.</td> <td>object</td> <td>estimador (Modelo de regresión excepto cat boost) o 'zero'</td> <td>None</td> </tr> <tr> <td>warm_start</td> <td>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.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>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.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> </tbody> </table> 6. ### KNN Regression La Regresión KNN funciona encontrando las distancias entre una consulta (instancia de datos) y todos los ejemplos en los datos, seleccionando el número especificado de ejemplos (K) más cercanos a la consulta, y luego vota por el punto que es el promedio de las observaciones en el mismo vecindario. En otras palabras, aproxima la asociación entre las variables independientes (variables de entrada) y el resultado continuo (objetivo) promediando las observaciones en el mismo vecindario. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>n_neighbors <br>(number of neighbours)</td> <td>Número de vecinos a usar por defecto para consultas kneighbors.</td> <td>int</td> <td>[1, n]<br> n = Número total de registros en el conjunto de datos</td> <td>5</td> </tr> <tr> <td>weights</td> <td>Función de peso utilizada en la predicción.<ul style="text-align: left; ;"><li><strong>'uniform'</strong>: pesos uniformes. Todos los puntos en cada vecindario se ponderan igualmente. <li><strong>'distance'</strong>: pondera los puntos por el inverso de su distancia. En este caso, los vecinos más cercanos de un punto de consulta tendrán mayor influencia que los vecinos más lejanos.</ul></td> <td>string</td> <td>{'uniform', 'distance'}</td> <td>'uniform'</td> </tr> <tr> <td>algorithm</td> <td>Algoritmo utilizado para calcular los vecinos más cercanos</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>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. El valor óptimo depende de la naturaleza del problema.</td> <td>int</td> <td> (1, +Inf)</td> <td>30</td> </tr> <tr> <td>p</td> <td>Parámetro de potencia para la métrica de Minkowski. Cuando p = 1, esto es equivalente a usar manhattan_distance (l1), y euclidean_distance (l2) <br>para p = 2. Para p arbitrario, se usa minkowski_distance (l_p).</td> <td>int</td> <td>[1,3]</td> <td>2</td> </tr> <tr> <td>metric</td> <td>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.</td> <td>str</td> <td>{'cityblock', 'cosine', &#39;euclidean&#39;, &#39;l1&#39;, &#39;l2&#39;, &#39;manhattan&#39;, &#39;nan_euclidean&#39;, 'minkowski'}</td> <td>'minkowski'</td> </tr> </tbody> </table> 7. ### kernel Regression Esta regresión simplemente ajusta una línea a un diagrama de dispersión. Los valores del kernel se utilizan para derivar pesos para predecir salidas a partir de entradas dadas. La regresión kernel es una técnica no paramétrica para estimar la expectativa condicional de una variable aleatoria. El objetivo es encontrar una relación no lineal entre un par de variables aleatorias X e Y. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>Fuerza de regularización; debe ser un float positivo. La regularización mejora el condicionamiento del problema y reduce la varianza de las estimaciones. Valores más grandes especifican una regularización más fuerte.</td> <td>float</td> <td>[0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>Mapeo del kernel utilizado internamente. Este parámetro se pasa directamente a pairwise_kernel. Si kernel es una cadena, debe ser una de las métricas en pairwise. PAIRWISE_KERNEL_FUNCTIONS o "precomputed". Si kernel es "precomputed", se asume que X es una matriz de kernel.</td> <td>string</td> <td>{'additive_chi2',&#39;chi2&#39; 'linear', 'poly', 'polynomial', 'rbf', 'laplacian', 'sigmoid', &#39;cosine'}</td> <td>"linear"</td> </tr> <tr> <td>gamma</td> <td>Parámetro gamma para los kernels RBF, laplacian, polinomial, exponencial chi2 y sigmoid. La interpretación del valor predeterminado se deja al kernel; consulte la documentación de sklearn.metrics.pairwise.</td> <td>float</td> <td>[0, +Inf)</td> <td>None</td> </tr> <tr> <td>degree</td> <td>Grado del kernel polinomial.</td> <td>float</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>coef0</td> <td>Coeficiente cero para kernels polinomiales y sigmoid.</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>1</td> </tr> </tbody> </table> 8. ### LGBM Regression LGBM funciona comenzando con una estimación inicial que se actualiza usando la salida de cada árbol. El parámetro de aprendizaje controla la magnitud de este cambio en las estimaciones. Se puede usar en cualquier dato y proporciona un alto grado de precisión, ya que contiene muchos pasos de preprocesamiento integrados. El algoritmo LightGBM crece verticalmente, lo que significa que crece por hojas, mientras que otros algoritmos crecen por niveles. LightGBM elige la hoja con la mayor pérdida para crecer. Puede reducir más la pérdida que un algoritmo por niveles al hacer crecer la misma hoja. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>boosting_type</td> <td>Método de Boosting.</td> <td>string</td> <td>{'gbdt', 'dart', 'goss'}</td> <td>&#39;gbdt&#39;</td> </tr> <tr> <td>num_leaves</td> <td>Hojas máximas del árbol para aprendices base.</td> <td>int</td> <td>(1, +Inf)</td> <td>31</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima del árbol para aprendices base, &lt;= 0 significa sin límite.</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>-1</td> </tr> <tr> <td>learning_rate</td> <td>Tasa de aprendizaje de boosting.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br> (number of estimators)</td> <td>Número de árboles potenciados a ajustar.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>subsample_for_bin</td> <td>Número de muestras para construir bins.</td> <td>int</td> <td>(0, +Inf)</td> <td>200000</td> </tr> <tr> <td>min_split_gain</td> <td>Reducción mínima de pérdida requerida para hacer una partición adicional en un nodo hoja del árbol.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>min_child_weight</td> <td>Suma mínima del peso de la instancia (Hessiano) necesaria en un hijo (hoja).</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>min_child_samples</td> <td>Número mínimo de datos necesarios en un hijo (hoja).</td> <td>int</td> <td>[0, +Inf)</td> <td>20</td> </tr> <tr> <td>subsample</td> <td>Proporción de submuestreo de la instancia de entrenamiento.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>subsample_freq (subsample_frequency)</td> <td>Frecuencia de submuestreo, &lt;= 0 significa no habilitado.</td> <td>int</td> <td>(-Inf, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>Proporción de submuestreo de columnas al construir cada árbol.</td> <td>float</td> <td>(0.0, 1.0]</td> <td>1.0</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>Término de regularización L1 en los pesos.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>Término de regularización L2 en los pesos.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>importance_type</td> <td>El tipo de importancia de característica a llenar en feature<em>importances</em>. 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.</td> <td>string</td> <td>{ 'gain', &#39;split&#39;}</td> <td>&#39;split&#39;</td> </tr> </tbody> </table> 9. ### Lasso Regression La regresión Lasso es una técnica de regularización. Se utiliza sobre métodos de regresión para una predicción más precisa. La regresión Lasso es un tipo de regresión lineal que utiliza contracción. La contracción es donde los valores de los datos se contraen hacia un punto central, como la media. El procedimiento lasso fomenta modelos simples y dispersos (es decir, modelos con menos parámetros). #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>Constante que multiplica el término L1, controlando la fuerza de regularización. alpha debe ser un float no negativo</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>fit_intercept</td> <td>Si se debe calcular el intercepto para este modelo. Si se establece en False, no se usará intercepto en los cálculos</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la norma l2.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>La tolerancia para la optimización: si las actualizaciones son más pequeñas que tol, el código de optimización verifica el gap dual para la optimalidad y continúa hasta que sea más pequeño que tol.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>warm_start</td> <td>Cuando se establece en True, reutiliza la solución de la llamada anterior a fit como inicialización, de lo contrario, simplemente borra la solución anterior.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>positive</td> <td>Cuando se establece en True, fuerza a los coeficientes a ser positivos.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>selection</td> <td>Si se establece en 'random', un coeficiente aleatorio se actualiza en cada iteración en lugar de recorrer las características secuencialmente por defecto.</td> <td>string</td> <td>{&quot;cyclic&quot;, &quot;random&quot;}</td> <td>&quot;cyclic&quot;</td> </tr> </tbody> </table> 10. ### Linear Regression La regresión lineal es un modelo de regresión que estima la relación lineal entre la variable independiente (entrada) y la variable dependiente (objetivo) usando una línea recta. Es el algoritmo básico para problemas de tipo regresión. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>fit_intercept</td> <td>Si se debe calcular el intercepto para este modelo. Si se establece en False, no se usará intercepto en los cálculos.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la <br>norma l2.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 11. ### Random-Forest Regression El bosque aleatorio es un algoritmo de clasificación y regresión que consiste en muchos árboles de decisión. Utiliza bagging y aleatoriedad de características al construir árboles individuales para intentar crear un bosque no correlacionado de árboles cuya predicción por comité es más precisa que la de cualquier árbol individual. Bagging es un meta-estimador de conjunto que ajusta clasificadores/regresores base en subconjuntos aleatorios del conjunto de datos original y luego agrega sus predicciones individuales (ya sea por votación o por promediado) para formar una predicción final. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>n_estimators</td> <td>El número de árboles en el bosque.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>criterion</td> <td>La función para medir la calidad de una división. Los criterios soportados son "squared_error" para el error cuadrático medio, que es igual a la reducción de varianza como criterio de selección de características, "absolute_error" para el error absoluto medio.</td> <td>string</td> <td>{&quot;mse&quot;, &quot;mae&quot;}</td> <td>"mse"</td> </tr> <tr> <td>max_depth</td> <td>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.</td> <td>int</td> <td>(0, +Inf)</td> <td>None</td> </tr> <tr> <td>min_samples_split</td> <td>El número mínimo de muestras requeridas para dividir un nodo interno</td> <td>int or float</td> <td>[2, +Inf) or (0, 1.0]</td> <td>2</td> </tr> <tr> <td>min_samples_leaf</td> <td>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.</td> <td>int or float</td> <td>[1, +Inf) or (0, 0.5]</td> <td>1</td> </tr> <tr> <td>min_weight_fraction_leaf</td> <td>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. Las muestras tienen peso igual cuando sample_weight no se proporciona.</td> <td>float</td> <td>[0, 0.5]</td> <td>0.0</td> </tr> <tr> <td>max_features</td> <td>El número de características a considerar cuando se busca la mejor división</td> <td>int, float or string</td> <td>(0, n_features] or { "sqrt", "log2"}, None</td> <td>None</td> </tr> <tr> <td>max_leaf_nodes</td> <td>Hacer crecer árboles con max_leaf_nodes de la mejor manera posible. Los mejores nodos se definen como la reducción relativa en impureza.</td> <td>int</td> <td>(1, +Inf)</td> <td>None</td> </tr> <tr> <td>min_impurity_decrease</td> <td>Un nodo se dividirá si esta división induce una disminución de la impureza mayor o igual a este valor.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>bootstrap</td> <td>Si se usan muestras bootstrap al construir árboles. Si es False, se usa el conjunto de datos completo para construir cada árbol.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>oob_score (out of bag score)</td> <td>Si se usan muestras fuera de la bolsa para estimar la puntuación de generalización. Solo disponible si bootstrap=True.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>warm_start</td> <td>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.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> </tbody> </table> 12. ### Ridge Regression La regresión Ridge es un método para estimar los coeficientes de modelos de regresión múltiple en escenarios donde las variables independientes están altamente correlacionadas. Se puede usar cuando las variables de entrada están altamente correlacionadas con el objetivo. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>alpha</td> <td>Constante que multiplica el término L2, controlando la fuerza de regularización.</td> <td>float</td> <td>(0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>fit_intercept</td> <td>Si se debe ajustar el intercepto para este modelo. Si se establece en false, no se usará intercepto en los cálculos.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>normalize</td> <td>Este parámetro se ignora cuando fit_intercept se establece en False. Si es True, los regresores X se normalizarán antes de la regresión restando la media y dividiendo por la<br> norma l2.</td> <td>bool</td> <td>True or False</td> <td>False</td> </tr> <tr> <td>tol (tolerance)</td> <td>Precisión de la solución.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-4</td> </tr> <tr> <td>solver</td> <td>Solver a usar en las rutinas computacionales:</td> <td>string</td> <td>{'auto', 'svd', 'cholesky', 'lsqr', 'sparse_cg', 'sag', 'saga'}</td> <td>'auto'</td> </tr> </tbody> </table> Nota: Los valores del solver son: * 'auto' elige el solver automáticamente basándose en el tipo de datos. * 'svd' usa una Descomposición en Valores Singulares de X para calcular los coeficientes Ridge. Es el solver más estable, en particular más estable para matrices singulares que 'cholesky' a costa de ser más lento. * 'cholesky' usa la función estándar scipy.linalg.solve para obtener una solución de forma cerrada. * 'sparse_cg' usa el solver de gradiente conjugado como se encuentra en scipy.sparse.linalg.cg. Como algoritmo iterativo, este solver es más apropiado que 'cholesky' para datos a gran escala (posibilidad de establecer tol y max_iter). * 'lsqr' usa la rutina de mínimos cuadrados regularizados dedicada scipy.sparse.linalg.lsqr. Es el más rápido y usa un procedimiento iterativo. * 'sag' usa un descenso de gradiente promedio estocástico, y 'saga' usa su versión mejorada e imparcial llamada SAGA. Ambos métodos también usan un procedimiento iterativo, y a menudo son más rápidos que otros solvers cuando tanto n_samples como n_features son grandes. Tenga en cuenta que la convergencia rápida de 'sag' y 'saga' solo está garantizada en características con aproximadamente la misma escala. Se puede preprocesar los datos con un scaler de sklearn.preprocessing. 13. ### SVM Regression La regresión de vectores de soporte se utiliza para predecir valores discretos. La regresión de vectores de soporte usa el mismo principio que las SVMs. La idea básica detrás de SVM es encontrar la mejor línea de ajuste. En SVM, la mejor línea de ajuste es el hiperplano que tiene el máximo número de puntos. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>C</td> <td>Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C. Debe ser estrictamente positivo.</td> <td>float</td> <td>(0.0, +Inf)</td> <td>1.0</td> </tr> <tr> <td>kernel</td> <td>Especifica el tipo de kernel a utilizar en el algoritmo. Si no se proporciona ninguno, se usará rbf. Si se proporciona un callable, se usa para precalcular la matriz del kernel.</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>Grado de la función kernel polinómica ('poly').</td> <td>int</td> <td>[0, +Inf)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'.</td> <td>string or float</td> <td>{'scale', 'auto'} or (0.0, +Inf)</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>Término independiente en la función kernel. Solo es significativo en 'poly' y 'sigmoid'.</td> <td>float</td> <td>(-Inf, +Inf)</td> <td>0.0</td> </tr> <tr> <td>shrinking</td> <td>Si se debe usar la heurística de reducción.</td> <td>bool</td> <td>True or False</td> <td>True</td> </tr> <tr> <td>tol (tolerance)</td> <td>Tolerancia para el criterio de parada.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>1e-3</td> </tr> <tr> <td>epsilon</td> <td>Epsilon en el modelo <br>epsilon-SVM. Especifica el tubo epsilon dentro del cual no se asocia ninguna penalización en la función de pérdida de entrenamiento con puntos predichos dentro de una distancia epsilon del valor real.</td> <td>float</td> <td>[0, +Inf)</td> <td>0.1</td> </tr> </tbody> </table> 14. ### XGB Regression XGBoost es una biblioteca de gradient boosting distribuido optimizada diseñada para ser altamente eficiente, flexible y portable. Implementa algoritmos de aprendizaje automático bajo el framework de gradient boosting. Proporciona boosting paralelo de árboles para resolver muchos problemas de ciencia de datos de forma rápida y precisa. Utiliza regularización L1 y L2 para predecir puntos y entrena rápidamente. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w10p">Tipo de Dato</th> <th class="w25p">Valores Posibles</th> <th class="w20p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>booster</td> <td>Decide qué booster usar.</td> <td>string</td> <td>{'gbtree&#39;, &#39;gblinear&#39;, &#39;dart&#39; }</td> <td>'gbtree'</td> </tr> <tr> <td>learning_rate</td> <td>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.</td> <td>float</td> <td>[0,1]</td> <td>0.1</td> </tr> <tr> <td>n_estimators<br>(number of estimators)</td> <td>Número de árboles a ajustar.</td> <td>int</td> <td>[1, 500]</td> <td>100</td> </tr> <tr> <td>objective</td> <td>Regresión logística para clasificación binaria.</td> <td>string</td> <td>Mencionado debajo de la tabla.</td> <td>&quot;reg:linear&quot;</td> </tr> <tr> <td>subsample</td> <td>Controla la proporción de la muestra.</td> <td>int</td> <td>(0,1]</td> <td>1</td> </tr> <tr> <td>max_depth</td> <td>Profundidad máxima de un árbol.</td> <td>int</td> <td>(0, +Inf)</td> <td>3</td> </tr> <tr> <td>max_delta_step</td> <td>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.</td> <td>int or float</td> <td>[0, +Inf)</td> <td>0</td> </tr> <tr> <td>colsample_bytree (column sample by tree)</td> <td>Fracción de muestras aleatorias de columnas.</td> <td>float</td> <td>(0, 1]</td> <td>1.0</td> </tr> <tr> <td>colsample_bylevel (column sample by level)</td> <td>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.</td> <td>float</td> <td>(0, 1]</td> <td>1.0</td> </tr> <tr> <td>min_child_weight</td> <td>Suma mínima de pesos.</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> <tr> <td>reg_alpha (alpha)</td> <td>Término de regularización L1 en los pesos.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>reg_lambda (lambda)</td> <td>Término de regularización L2 en los pesos.</td> <td>float</td> <td>[0.0, +Inf)</td> <td>0.0</td> </tr> <tr> <td>scale_pos_weight (scale positive weight)</td> <td>Controla el equilibrio de pesos positivos y negativos, útil para clases desequilibradas.</td> <td>int</td> <td>[0, +Inf)</td> <td>1</td> </tr> </tbody> </table> **VALORES POSIBLES PARA EL PARÁMETRO "OBJECTIVE":** { "rank:pairwise", reg:tweedie, "reg:gamma", "reg:linear", "count:poisson"} -------------------------------------------------------------------------------- title: "Ensamblaje" 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-07-02T09:34:15.890Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/ensemble/" service: "QuickML" -------------------------------------------------------------------------------- # Ensembling El aprendizaje por conjuntos (ensemble learning) es una técnica de aprendizaje automático que mejora la precisión de las predicciones y la robustez combinando las salidas de múltiples modelos. #### Técnica de Ensembling por Apilamiento (Stacking) 1. **Classification Ensemble** - Un modelo de clasificación que combina las predicciones de múltiples otros modelos utilizando técnicas de votación, específicamente votación dura (hard voting) y votación suave (soft voting). En la votación dura, la clase que recibe la mayoría de los votos entre todos los modelos es seleccionada para el resultado, mientras que la votación suave toma las probabilidades de cada predicción de clase por todos los modelos base y la clase con la probabilidad promedio más alta se selecciona como la predicción final. 2. **Regression Ensemble** - Un modelo de regresión que combina las predicciones de múltiples otros modelos mediante técnicas de promediado, específicamente promedio ponderado y promedio no ponderado. 3. **Stacking Classification** - Un clasificador de aprendizaje por conjuntos que combina las predicciones de múltiples clasificadores base (o modelos) para crear un meta-clasificador más potente y robusto. Esto es particularmente útil cuando se tienen varios clasificadores diversos con fortalezas y debilidades complementarias. 4. **Stacking Regression** - Un regresor de aprendizaje por conjuntos que combina las predicciones de múltiples regresores base (o modelos) para crear un meta-regresor más potente y robusto. Esto es particularmente útil cuando se tienen varios regresores diversos con fortalezas y debilidades complementarias. -------------------------------------------------------------------------------- title: "Recomendación" 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-07-02T09:34:15.891Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/recommendation/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de Recomendación Los algoritmos de recomendación aprovechan diversos conjuntos de datos, como transacciones históricas o datos de interacción, atributos de artículos y datos demográficos de usuarios, para analizar patrones en el comportamiento del usuario y generar recomendaciones altamente personalizadas que se alinean con los intereses del usuario. Desempeñan un papel crítico en impulsar las interacciones, mejorar la retención y optimizar la experiencia del usuario en diversas plataformas. En QuickML, actualmente soportamos algoritmos de Recuperación de Información diseñados para satisfacer diversas necesidades empresariales para construir modelos de recomendación variados. ## Tipos de Sistemas de Recomendación Los tipos de modelos de recomendación que se utilizan en entornos en tiempo real incluyen: - Sistema de recomendación secuencial - Sistema de recomendación personalizado - Sistema de recomendación de ciclo de recurrencia ## a. Recuperación de información Un sistema de recomendación es una herramienta inteligente que analiza interacciones pasadas, preferencias y comportamiento para sugerir productos personalizados que probablemente sean de interés para cada usuario. Utiliza algoritmos avanzados para comprender sus gustos y necesidades, realizando recomendaciones precisas que coinciden con las preferencias únicas de los usuarios. Los algoritmos de recuperación de información tienen como objetivo generar sugerencias precisas que mejoren la experiencia y el compromiso del usuario proporcionando recomendaciones personalizadas. Los algoritmos que se utilizan en cada tipo de sistema de recomendación dentro de QuickML incluyen. 1. ## Sistema de recomendación secuencial Los algoritmos de Recomendación Secuencial utilizan técnicas de aprendizaje automático para analizar los datos de interacción histórica y predecir el siguiente artículo o artículos que probablemente serán consumidos en una secuencia. Este algoritmo considera el orden secuencial de sus interacciones pasadas para sugerir productos que se alinean con sus patrones de compra. El algoritmo que se utiliza para construir estos modelos es: ### SubSequence **SuBSeq** o Succinct BWT-Based Sequence Prediction, es un algoritmo potente que utiliza la Transformada de Burrows-Wheeler (BWT), diseñado específicamente para sistemas de recomendación secuencial, aprovechando técnicas avanzadas para extraer patrones significativos de los datos de transacciones/interacciones. Se centra en la minería de subsecuencias, permitiéndole identificar secuencias recurrentes y patrones intrincados dentro de las secuencias de comportamiento del usuario. A través de una combinación de procesamiento eficiente de datos y reconocimiento de patrones, SubSeq sobresale en capturar dependencias temporales, preferencias del usuario y matices contextuales, lo que en última instancia conduce a recomendaciones altamente personalizadas adaptadas al comportamiento individual. Es particularmente eficiente en términos de uso de memoria y complejidad computacional. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>transactions_column</td> <td>Nombre de la columna para los conjuntos de artículos en los datos de entrada</td> <td>str</td> <td>nombre de columna en el conjunto de datos</td> <td>especificado</td> </tr> <tr> <td>min_similar_sequence</td> <td>Número mínimo de secuencias similares requeridas</td> <td>int</td> <td>cualquier entero positivo</td> <td>2</td> </tr> </tbody> </table> #### Escenarios de ejemplo para elegir este algoritmo: Una plataforma de medios en línea busca mejorar el compromiso del usuario prediciendo las secuencias de artículos que los usuarios podrían consumir basándose en su comportamiento e interacciones pasadas. El objetivo es comprender y anticipar las preferencias del usuario, permitiendo a la plataforma proporcionar recomendaciones de contenido personalizadas. Por ejemplo, si un usuario ve tres películas de comedia y luego cambia a documentales históricos, un algoritmo de recomendación secuencial identifica este cambio en el patrón de consumo y sugiere más documentales o una mezcla de ambos géneros. 2. ## Sistema de recomendación personalizado Los algoritmos de recomendación personalizada buscan proporcionar recomendaciones adaptadas a usuarios individuales basándose en sus preferencias, interacciones pasadas, atributos del producto e información demográfica. Estos algoritmos aprovechan los datos de interacción usuario-artículo para identificar patrones y similitudes entre usuarios y artículos. Los algoritmos que se utilizan para construir estos modelos son: ### LightFM **LightFM** es un algoritmo de recomendación robusto que aprovecha los perfiles de usuario, los detalles del producto y los datos de interacción para proporcionar recomendaciones personalizadas. Al fusionar el filtrado colaborativo con técnicas de factorización de matrices, LightFM captura las preferencias del usuario y las características de los artículos, asegurando recomendaciones precisas en el dominio dado. Analizando los perfiles de usuario y las características de los artículos, ofrece sugerencias más relevantes, simplificando el descubrimiento de productos relacionados y ajustando las recomendaciones rápidamente según el comportamiento del usuario. Con información sobre la demografía del usuario, las preferencias y el historial de interacciones, LightFM mejora las experiencias de recomendación en diversas industrias y aplicaciones, fomentando el compromiso y la satisfacción. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>no_components</td> <td>La dimensionalidad de los embeddings de características latentes. Valores más altos capturan relaciones más complejas pero pueden sobreajustar si son demasiado grandes para el conjunto de datos.</td> <td>int</td> <td>Cualquier entero positivo</td> <td>10</td> </tr> <tr> <td>n</td> <td>Para el entrenamiento k-OS, esto especifica el número máximo de muestras positivas consideradas para cada usuario durante cada paso de actualización.</td> <td>int</td> <td>Cualquier entero positivo</td> <td>10</td> </tr> <tr> <td>learning_schedule</td> <td>Determina el programa de tasa de aprendizaje a utilizar. Las opciones incluyen programas adaptativos como adagrad o adadelta, que ajustan las tasas de aprendizaje basándose en la información del gradiente durante el entrenamiento.</td> <td>str</td> <td>'adagrad', 'adadelta'r</td> <td>'adagrad'</td> </tr> <tr> <td>loss</td> <td>Especifica la función de pérdida a optimizar: <ul style="text-align: left;"><li><strong>&#39;logistic&#39;</strong>: no se añade penalización;<li><strong>&#39;bpr&#39;</strong>: añade un término de penalización L2 y es la opción predeterminada;<li><strong>&#39;warp&#39;</strong>: añade un término de penalización L1;<li><strong>&#39;warp-kos&#39;</strong>: se añaden tanto términos de penalización L1 como L2.</td> <td>int</td> <td>Cualquier entero positivo</td> <td>10</td> </tr> <tr> <td>learning_rate</td> <td>La tasa de aprendizaje inicial para el optimizador de descenso de gradiente. Valores más pequeños resultan en una convergencia más lenta pero potencialmente más estable.</td> <td>float</td> <td>Cualquier float positivo</td> <td>0.05</td> </tr> <tr> <td>item_alpha</td> <td>Fuerza de regularización L2 en los embeddings de características de artículos. Ayuda a prevenir el sobreajuste penalizando pesos grandes. Valores más altos imponen una regularización más fuerte.</td> <td>float</td> <td>Cualquier float no negativo</td> <td>0.0</td> </tr> <tr> <td>user_alpha</td> <td>Fuerza de regularización L2 en los embeddings de características de usuarios. Ayuda a prevenir el sobreajuste penalizando pesos grandes. Comportamiento similar a item_alpha.</td> <td>float</td> <td>Cualquier float no negativo</td> <td>0.0</td> </tr> <tr> <td>train_split_ratio</td> <td>Se utiliza para entrenamiento. Los datos restantes se reservan para evaluación. Una proporción más alta significa más datos para entrenamiento pero menos para pruebas.</td> <td>float</td> <td>entre 0 y 1</td> <td>0.8</td> </tr> <tr> <td>td_uid_column</td> <td>El nombre de la columna en el conjunto de datos de transacciones que representa los IDs únicos de usuario.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> <tr> <td>ud_uid_column</td> <td>El nombre de la columna en el conjunto de datos de características de usuario que representa los IDs únicos de usuario.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> <tr> <td>pd_pid_column</td> <td>El nombre de la columna en el conjunto de datos de características del producto que representa los IDs únicos de producto.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> </tbody> </table> #### Escenarios de ejemplo para elegir este algoritmo: - En plataformas de comercio electrónico, los algoritmos de recomendación personalizada sugieren artículos relevantes basados en las interacciones del usuario en tiempo real y la actividad de búsqueda. Al analizar el comportamiento del usuario, las características del artículo y los datos de transacciones, estos modelos generan sugerencias altamente personalizadas que resuenan con los usuarios individuales. Este enfoque no solo mejora la experiencia del usuario sino que también aumenta el valor del negocio al promover productos relevantes y relacionados. - En plataformas de aprendizaje en línea, facilitando el descubrimiento de cursos relacionados que complementan los intereses y objetivos de aprendizaje de los usuarios. Estos modelos mejoran el descubrimiento al analizar las similitudes de los cursos y los intereses de los usuarios, lo que en última instancia conduce a una mayor exploración y compromiso. ### Pixie Construir sistemas que proporcionen recomendaciones personalizadas de alta calidad presenta un gran desafío debido a un enorme grupo de artículos y un gran número de usuarios. Estas recomendaciones deben generarse de forma receptiva a las acciones del usuario bajo demanda. Pixie es un sistema de recomendación escalable en tiempo real basado en grafos que aborda este problema utilizando su técnica llamada caminatas aleatorias para explorar un gran grafo de artículos interconectados para recomendar artículos relevantes a los usuarios. El grafo comprende nodos y aristas, donde los nodos representan artículos o usuarios, y las aristas representan relaciones o interacciones entre ellos. Este algoritmo está diseñado para ser altamente escalable, permitiéndole operar eficientemente en entornos con un gran número de artículos y usuarios. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>user_id_colum</td> <td>nombre de columna único del user_dataset</td> <td>str</td> <td>nombre de columna en el conjunto de datos</td> <td>especificado</td> </tr> <tr> <td>product_id_column</td> <td>nombre de columna único del product_dataset</td> <td>str</td> <td>nombre de columna en el conjunto de datos</td> <td>especificado</td> </tr> <tr> <td>depth</td> <td>Número de pasos en cada caminata aleatoria.</td> <td>int</td> <td>Cualquier entero positivo</td> <td>10</td> </tr> <tr> <td>n_epochs</td> <td>Número máximo de pasos para el proceso de caminata aleatoria.</td> <td>int</td> <td>Cualquier entero positivo</td> <td>50</td> </tr> <tr> <td>higher_weight</td> <td>Peso para sesgar la arista del grafo hacia conexiones más probables.</td> <td>float</td> <td>Un float entre 0 y 1</td> <td>1.0</td> </tr> <tr> <td>lower_weight</td> <td>Peso para sesgar la arista del grafo hacia conexiones menos probables.</td> <td>float</td> <td>Un float entre 0 y 1</td> <td>0.0001</td> </tr> <tr> <td>recommendation_type</td> <td>Tipo de predicción a realizar.</td> <td>str</td> <td>'fbt', 'cwbab'</td> <td>'cwbab'</td> </tr> <tr> <td>with_feature_encoding</td> <td>Si se debe usar la codificación de características de usuario.</td> <td>bool</td> <td>True, False</td> <td>False</td> </tr> </tbody> </table> #### Escenarios de ejemplo para elegir este algoritmo: Pixie puede sugerir productos a los usuarios basándose en su historial de navegación y comportamiento de compra, lo que lleva a un mejor descubrimiento de productos y mayores tasas de conversión de ventas. #### Por ejemplo: Una plataforma de comercio electrónico especializada en electrónica de consumo aprovecha Pixie para mejorar su sistema de recomendación. Cuando un usuario compra un smartphone, el algoritmo usa recommendation_type: **fbt (Frequently Bought Together)** para recomendar co-compras necesarias, como protectores de pantalla o cargadores, que son inmediatamente relevantes para la compra actual. Al mismo tiempo, si el algoritmo usa recommendation_type: "**cwbab (Customers who bought also bought)**" para sugerir productos complementarios, como smartwatches o altavoces Bluetooth, que el cliente podría considerar comprar más adelante. Al diferenciar entre necesidades inmediatas y futuras potenciales, la plataforma no solo aumenta el valor promedio del pedido sino que también construye compromiso y satisfacción del cliente a largo plazo. 3. ## Sistema de recomendación de ciclo de recurrencia El Modelo de Recomendación de Ciclo de Recurrencia se entrena para identificar y sugerir artículos basándose en patrones recurrentes en el comportamiento del usuario. Al analizar datos históricos, detecta los ciclos o intervalos recurrentes en los que los usuarios probablemente repitan interacciones específicas, como compras, suscripciones o compromisos. El algoritmo Recurrence Finder predice los artículos que los usuarios tienen más probabilidades de volver a comprar, simplificando el proceso de reabastecimiento de productos o re-compromiso con artículos preferidos. Los algoritmos que se utilizan para construir los modelos de recomendación recurrente son: ### Recurrence Finder **Recurrence Finder** identifica y predice eventos recurrentes, incluyendo compras de productos por parte de clientes, asistencia a eventos y configuraciones de alarmas diarias, aprovechando marcas de tiempo históricas para pronosticar ocurrencias futuras. Al analizar patrones de eventos históricos, proporciona las ocurrencias futuras de eventos, ayudando en la planificación y toma de decisiones efectiva. Este modelo ayuda a optimizar estrategias para la retención de clientes, gestión de eventos y herramientas de gestión del tiempo. Con su capacidad para predecir ocurrencias futuras, Recurrence Finder mejora la eficiencia y productividad en diversos dominios, desde el comercio electrónico hasta la atención médica. #### Hiperparámetros: <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Parámetro</th> <th class="w30p">Descripción</th> <th class="w15p">Tipo de Dato</th> <th class="w15p">Valores Posibles</th> <th class="w15p">Valores Predeterminados</th> </tr> </thead> <tbody> <tr> <td>user</td> <td>El nombre de la columna en el conjunto de datos que contiene los IDs únicos de usuario. Esta columna es esencial para identificar la recurrencia de transacciones basándose en los usuarios.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> <tr> <td>product</td> <td>El nombre de la columna en el conjunto de datos que contiene los IDs únicos de producto. Esta columna se utiliza para rastrear la recurrencia de productos específicos en las transacciones.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> <tr> <td>timestamp_column</td> <td>El nombre de la columna en el conjunto de datos que contiene las marcas de tiempo de las transacciones. Esta columna es crítica para calcular los intervalos de tiempo entre transacciones recurrentes.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> <tr> <td>quantity</td> <td>Un indicador booleano que señala si el análisis de recurrencia debe considerar las cantidades de transacciones. Si es True, se utilizará la quantity_column para incorporar patrones de recurrencia basados en cantidad.</td> <td>bool</td> <td>True, False</td> <td>Especificado por el usuario</td> </tr> <tr> <td>quantity_column</td> <td>El nombre de la columna en el conjunto de datos que contiene la cantidad de productos comprados en cada transacción. Esto es requerido si el parámetro quantity está configurado como True.</td> <td>str</td> <td>Cualquier nombre de columna válido en el conjunto de datos</td> <td>Especificado por el usuario</td> </tr> </tbody> </table> #### Escenarios de ejemplo para elegir este algoritmo: - Las empresas basadas en suscripciones pueden utilizar predicciones de recurrencia para pronosticar cuándo es probable que los clientes renueven sus suscripciones. Esto les permite implementar estrategias de retención dirigidas, como ofertas personalizadas o recordatorios, para aumentar las tasas de renovación y la lealtad del cliente. - Las empresas basadas en servicios, como proveedores de atención médica o salones, pueden usar predicciones de recurrencia para programar citas de manera eficiente. Al anticipar cuándo es probable que los clientes reserven citas, pueden optimizar los horarios del personal, minimizar los tiempos de espera y mejorar la satisfacción del cliente. ## Criterios de validación de datos Los modelos de recomendación se entrenan utilizando tres conjuntos de datos: 1. Datos de transacciones/interacciones 2. Datos demográficos de los usuarios 3. Datos de atributos de los artículos El **conjunto de datos de Transacciones** contiene los detalles de las transacciones, como transactionID, userID, itemID, valor del pedido, fecha de compra, marca de tiempo, etc., capturando cada compra que el usuario ha realizado. El **conjunto de datos de Usuarios** contiene información demográfica sobre los usuarios del negocio, proporcionando información sobre sus características y preferencias. El **conjunto de datos de Artículos/Características del producto** contiene atributos y características de los artículos que son comprados por los usuarios, como categoría, marca y precio. Se realiza automáticamente una verificación de validación que involucra los tres conjuntos de datos por el propio algoritmo antes de que comience el entrenamiento del modelo. Si alguno de los siguientes criterios no se cumple, el algoritmo detiene el entrenamiento y lanza un error: - No deben existir valores faltantes en los conjuntos de datos de transacciones, usuarios o artículos. - Cualquier userID o itemID/productID presente en el conjunto de datos de Transacciones también debe existir en sus respectivos conjuntos de datos de Usuarios o Artículos. -------------------------------------------------------------------------------- title: "Series Temporales" 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-07-02T09:34:15.899Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/time-series/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de Series Temporales El pronóstico de series temporales es una tarea de analítica predictiva que implica predecir puntos de datos futuros utilizando los datos históricos recopilados a lo largo del tiempo. Profundicemos en cómo funciona el pronóstico en series temporales y exploremos los diferentes algoritmos que se utilizan para generar modelos de pronóstico. ### Pronóstico El pronóstico implica el uso de métodos estadísticos para predecir valores futuros examinando las tendencias y patrones en datos pasados. Este análisis ayuda a los propietarios de negocios a tomar decisiones bien informadas sobre el curso de acción futuro basándose en las predicciones generadas por el modelo. Los algoritmos de pronóstico de series temporales pueden clasificarse en dos categorías: univariados y multivariados, cada uno conduciendo a la creación de tipos correspondientes de modelos. #### 1. Pronóstico Univariado Los modelos de pronóstico univariados se construyen utilizando conjuntos de datos univariados, que contienen solo una única característica o variable que se registra a lo largo del tiempo. Estos modelos se centran exclusivamente en los patrones temporales, tendencias y estacionalidad de esa única variable para pronósticos futuros, sin incorporar la influencia de otros factores. Los algoritmos utilizados para construir los modelos de pronóstico univariados incluyen: - Moving Average - MA - Exponential Smoothing - Holt Winter's Method - Auto Autoregressive Integrated Moving Average - Auto ARIMA - Seasonal Autoregressive Integrated Moving Average - SARIMA - Autoregressive Moving Average - ARMA - Auto Regressor Entendamos cómo funciona cada uno de los algoritmos en detalle. **a. Moving Average** El modelo Moving Average (MA) es una técnica estadística comúnmente utilizada para pronósticos en el análisis de series temporales. En lugar de calcular el promedio de puntos de datos pasados, predice valores futuros basándose en una combinación lineal de errores de pronóstico pasados (o residuos) durante un número fijo de períodos, conocido como el "tamaño de ventana". Este método suaviza las fluctuaciones aleatorias, haciéndolo útil para identificar tendencias y patrones a corto plazo en los datos. Aunque el modelo MA es fácil de aplicar y puede ser útil para varios tipos de datos de series temporales, se basa únicamente en errores pasados y no tiene en cuenta directamente los valores pasados u otros factores externos que puedan afectar los datos. Como resultado, a menudo se recomienda combinar el modelo Moving Average con otros métodos de pronóstico, como los modelos AutoRegressive, para mejorar la precisión y capturar dinámicas más complejas en los datos. El número de errores de pronóstico pasados utilizados en un modelo **Moving Average (MA)** está definido por el orden o retardo MA (q). El orden MA indica cuántos términos de error anteriores (retardos de los residuos) se incluyen en el modelo para predecir el valor actual. Por ejemplo, en un modelo MA(q): - Si q = 1, el modelo utiliza el término de error anterior (el primer retardo del residuo). - Si q = 2, utiliza los dos términos de error anteriores (el primer y segundo retardo), y así sucesivamente. La elección del orden MA puede impactar significativamente en el rendimiento del modelo. **Ventajas** - Este algoritmo Moving Average es adecuado para pronósticos a corto plazo, como predecir ventas para los próximos períodos. - Puede ayudar a eliminar el ruido de los datos de series temporales, facilitando la identificación de patrones o tendencias subyacentes al suavizar las fluctuaciones aleatorias. **Desventajas** - El modelo Moving Average (MA) no es adecuado para pronósticos a largo plazo ya que solo se basa en residuos (errores) de pronóstico pasados y no tiene en cuenta directamente los valores pasados u otros factores externos que puedan afectar los datos a largo plazo. - Puede reaccionar lentamente a cambios o tendencias repentinas en los datos según el tamaño de ventana de residuos utilizados para las predicciones. - Los modelos MA se utilizan principalmente para pronósticos de series temporales univariadas, donde el enfoque está en una sola variable a lo largo del tiempo y sus errores pasados. Sin embargo, en pronósticos de series temporales multivariadas, donde están involucradas múltiples variables, las medias móviles no funcionan bien. - En el análisis de series temporales multivariadas, el objetivo es a menudo comprender las relaciones entre múltiples variables y aprovechar estas correlaciones para un mejor pronóstico. - La aplicación directa de un modelo simple de media móvil a variables individuales de forma independiente en datos multivariados no logra capturar las interdependencias potenciales entre las variables. **b. Auto Regressive Model** Los modelos AutoRegressive (AR) son una clase de modelos estadísticos comúnmente utilizados en el análisis de series temporales para pronosticar valores futuros utilizando valores pasados en la serie temporal como entrada. Son particularmente útiles para capturar dependencias temporales en los datos evaluando la correlación entre valores precedentes y subsiguientes en la serie. El modelo predice valores futuros como una combinación lineal de observaciones pasadas, basándose en la suposición de que los valores pasados tienen una influencia directa en el comportamiento futuro. El orden AR (p), puede definirse como el número de observaciones pasadas utilizadas en un modelo AutoRegressive (AR). Indica cuántos valores anteriores (retardos) de la serie temporal se incluyen en el modelo para predecir el valor actual. Por ejemplo, en un modelo AR(p): - Si p = 1, el modelo utiliza el valor anterior (el primer retardo). - Si p = 2, utiliza los dos valores anteriores (el primer y segundo retardo), y así sucesivamente. La elección del orden AR puede impactar significativamente en el rendimiento del modelo. **Ventajas** - Los modelos AR son efectivos para capturar las dependencias temporales presentes en los datos de series temporales. Al regresar el valor actual sobre sus propios valores pasados, pueden capturar patrones y tendencias en los datos. - Los parámetros de los modelos AR tienen interpretaciones claras. Cada parámetro autorregresivo representa la influencia de un valor retrasado específico sobre el valor actual, lo que facilita la comprensión de la relación entre observaciones pasadas y presentes. - Los modelos AR son robustos frente a valores atípicos y manejan bien los datos ruidosos. Pueden filtrar eficazmente las fluctuaciones a corto plazo y centrarse en capturar tendencias a largo plazo en los datos. - Los modelos AR son computacionalmente eficientes, particularmente para conjuntos de datos de tamaño pequeño a moderado. Requieren relativamente menos parámetros en comparación con otros modelos de series temporales, lo que los hace adecuados para análisis y pronósticos rápidos. **Desventajas** - Los modelos AR asumen una relación lineal entre observaciones pasadas y presentes. Esta suposición puede no cumplirse para todos los datos de series temporales, particularmente para relaciones no lineales o patrones complejos. - Los modelos AR asumen que la serie temporal subyacente es estacionaria, lo que significa que sus propiedades estadísticas no cambian a lo largo del tiempo. Sin embargo, muchas series temporales del mundo real exhiben comportamiento no estacionario, lo que puede limitar la aplicabilidad de los modelos AR. - Elegir el orden apropiado (AR lag(p)) para el modelo AR puede ser desafiante y puede requerir experimentación iterativa o diagnósticos estadísticos. Seleccionar un orden incorrecto puede llevar a un rendimiento deficiente del modelo y pronósticos inexactos. - Los modelos AR pueden tener dificultades para proporcionar pronósticos precisos a largo plazo, especialmente cuando los datos subyacentes son altamente volátiles o están sujetos a cambios estructurales. **c. ARMA Model** ARMA (AutoRegressive Moving Average) es un método de pronóstico de series temporales que combina tanto componentes AutoRegressive como Moving Average. Construye un modelo estadístico utilizando los valores pasados del componente AutoRegressive y los residuos (errores) pasados del componente Moving Average para predecir valores futuros. Este modelo se utiliza particularmente para capturar dependencias y patrones a corto plazo en datos de series temporales estacionarias. - Componente Autoregressive (AR): En el componente autorregresivo, el valor actual de la serie temporal se modela como una combinación lineal de sus valores anteriores. El "auto" en autorregresivo indica que el valor actual se regresa sobre sus propios valores pasados. Valores más altos de p capturan dependencias más complejas. - Componente Moving Average (MA): En el componente de media móvil, el valor actual de la serie temporal se modela como una combinación lineal de los errores de pronóstico pasados. Los parámetros de la media móvil determinan los pesos asignados a los errores de pronóstico pasados para predecir el valor actual. Similar a los modelos autorregresivos, valores más altos de q capturan dependencias más complejas. Los modelos ARMA combinan tanto componentes autorregresivos como de media móvil para capturar las dependencias temporales y las fluctuaciones aleatorias presentes en los datos. Un modelo ARMA(p, q) se representa como la suma de los componentes AR (p) y MA (q). **Ventajas** - Los modelos ARMA pueden capturar una amplia gama de patrones y dinámicas presentes en los datos de series temporales, haciéndolos versátiles para diversas aplicaciones. - Los parámetros de los modelos ARMA tienen interpretaciones claras, permitiendo a los analistas comprender las relaciones subyacentes entre observaciones pasadas y predicciones futuras. - Los modelos ARMA son robustos frente a valores atípicos y pueden manejar bien los datos ruidosos, haciéndolos adecuados para conjuntos de datos del mundo real con irregularidades. - Los modelos ARMA son computacionalmente eficientes, particularmente para conjuntos de datos de tamaño pequeño a moderado, permitiendo una estimación rápida del modelo y pronósticos. **Desventajas** - Los modelos ARMA asumen que la serie temporal subyacente es estacionaria, lo que significa que sus propiedades estadísticas no cambian a lo largo del tiempo. Sin embargo, muchas series temporales del mundo real exhiben comportamiento no estacionario, lo que puede limitar la aplicabilidad de los modelos ARMA. - Los modelos ARMA pueden tener dificultades para proporcionar pronósticos precisos a largo plazo, especialmente cuando los datos subyacentes son altamente volátiles o están sujetos a cambios estructurales. - Elegir el orden apropiado (p y q) para los componentes AR y MA de un modelo ARMA puede ser desafiante y puede requerir experimentación iterativa o diagnósticos estadísticos. - El rendimiento de los modelos ARMA puede ser sensible a las estimaciones iniciales de los parámetros, lo que lleva a posibles problemas de convergencia o soluciones subóptimas, particularmente en espacios de parámetros de alta dimensionalidad. **d. ARIMA Model** El modelo ARIMA (AutoRegressive Integrated Moving Average) es un método estadístico popular diseñado para pronósticos de series temporales para manejar datos no estacionarios incorporando un componente de diferenciación además de los componentes AR y MA como en el modelo ARMA. Es un método versátil y potente, ya que puede aplicarse tanto a datos de series temporales estacionarias como no estacionarias. Aquí hay un desglose de sus componentes: - **Término AutoRegressive (AR)**: Representa la relación entre una observación y un cierto número de observaciones retrasadas (pasos temporales anteriores). En un modelo AR (p), el valor de la serie en el tiempo 't' depende linealmente de los valores en los tiempos 't-1', 't-2', ..., 't-p'. - **Término Integrated (I)**: Se refiere a la diferenciación de las observaciones brutas para hacer la serie temporal estacionaria. La estacionariedad implica que las propiedades estadísticas de una serie temporal, como la media y la varianza, no cambian a lo largo del tiempo. El orden de diferenciación, denotado como 'd', indica cuántas diferencias se requieren para lograr la estacionariedad. - **Término Moving Average (MA)**: Tiene en cuenta la relación entre una observación y un error residual de un modelo de media móvil aplicado a las observaciones retrasadas. En un modelo MA(q), el valor de la serie en el tiempo 't' depende linealmente de los términos de error en los tiempos 't-1', 't-2', ..., 't-q'. El modelo ARIMA se denota como ARIMA(p, d, q), donde: - 'p' es el orden de la parte autorregresiva. - 'd' es el grado de diferenciación. - 'q' es el orden de la parte de media móvil. El modelo ARIMA realiza predicciones basándose en la combinación lineal de observaciones pasadas, diferenciación para estabilizar la serie, y un término de error que captura fluctuaciones inesperadas no explicadas por el modelo. **Auto ARIMA** Auto ARIMA busca automáticamente a través de un rango de posibles modelos ARIMA, incluyendo diferentes combinaciones de componentes autorregresivos (AR), integrados (I) y de media móvil (MA), para identificar el modelo que mejor se ajusta a los datos. Evalúa cada modelo basándose en criterios estadísticos como AIC (Criterio de Información de Akaike) o BIC (Criterio de Información Bayesiano) para determinar el modelo óptimo. **Ventajas** - ARIMA puede manejar una amplia gama de datos de series temporales, incluyendo datos económicos, financieros y sociales, haciéndolo aplicable en diversos campos. - Los parámetros del modelo (p, d, q) pueden proporcionar información sobre las dinámicas subyacentes de la serie temporal, como el efecto de retardo y el impacto de la diferenciación. - ARIMA se basa en principios estadísticos sólidos, convirtiéndolo en un método confiable para el análisis de series temporales. - ARIMA puede generar pronósticos para períodos temporales futuros, proporcionando información valiosa para la toma de decisiones y la planificación. - Los modelos ARIMA no requieren factores externos adicionales o covariables, lo que los hace relativamente sencillos de implementar e interpretar. **Desventajas** - ARIMA asume que la serie temporal es estacionaria o puede hacerse estacionaria mediante diferenciación. En la práctica, lograr la estacionariedad puede ser desafiante para algunos conjuntos de datos. - Los modelos ARIMA tradicionales no son adecuados para capturar patrones estacionales en los datos. Se necesita ARIMA estacional (SARIMA) u otros métodos para datos estacionales. - Son lineales y pueden no capturar eficazmente relaciones no lineales complejas presentes en algunos datos de series temporales. - Los modelos ARIMA requieren una cantidad suficiente de datos históricos para estimar con precisión los parámetros del modelo. En casos de datos cortos o escasos, ARIMA puede no funcionar bien. - ARIMA asume que las observaciones son independientes entre sí, lo cual puede no ser cierto para todos los datos de series temporales, particularmente en casos de autocorrelación o correlación serial. **e. SARIMA Model** Seasonal Autoregressive Integrated Moving Average (SARIMA) es una extensión del modelo ARIMA que incorpora estacionalidad en el análisis y pronóstico de datos de series temporales. Los modelos SARIMA son particularmente útiles para datos que exhiben tanto patrones no estacionales como estacionales: - **Diferenciación Estacional**: SARIMA implica diferenciar la serie temporal no solo para eliminar tendencias sino también para eliminar patrones estacionales. Esto se hace restando la observación en el tiempo 't' de la observación en el tiempo 't-s', donde 's' representa el período estacional. - **Término Seasonal Autoregressive (SAR)**: El componente de retardo AR estacional tiene en cuenta la relación entre la observación actual y las observaciones pasadas en intervalos estacionales. Captura los patrones estacionales en los datos. - **Término Seasonal Moving Average (SMA)**: El componente de retardo MA estacional modela la dependencia entre la observación actual y los errores de pronóstico pasados en intervalos estacionales. - **Integración**: Como en ARIMA, la integración se utiliza para hacer la serie temporal estacionaria mediante diferenciación. El orden de integración (denotado por 'd') representa el número de diferencias no estacionales necesarias para lograr la estacionariedad. - **Términos Autoregressive (AR) y Moving Average (MA)**: Estos componentes, similares a ARIMA, capturan las dinámicas no estacionales de la serie temporal. **Ventajas** - SARIMA modela explícitamente los patrones estacionales en los datos, permitiendo pronósticos más precisos de series temporales con fluctuaciones periódicas, como datos de ventas mensuales o indicadores económicos trimestrales. - Los modelos SARIMA pueden manejar una amplia gama de patrones estacionales, incluyendo estacionalidad multiplicativa y aditiva, así como patrones estacionales irregulares. - Como ARIMA, los modelos SARIMA proporcionan parámetros interpretables (por ejemplo, AR, MA, AR estacional, MA estacional) que pueden ofrecer información sobre las dinámicas subyacentes de la serie temporal. - Los modelos SARIMA pueden ser robustos a cambios en los patrones de datos subyacentes, siempre que se seleccionen el período estacional y los parámetros del modelo apropiados. **Desventajas** - Los modelos SARIMA son más complejos que los modelos ARIMA no estacionales, requiriendo parámetros adicionales para capturar las dinámicas estacionales. Esta complejidad puede hacer que la estimación e interpretación del modelo sean más desafiantes. - Seleccionar el período estacional apropiado y determinar los órdenes de los términos AR, MA, AR estacional y MA estacional puede ser difícil y puede requerir diagnósticos y pruebas extensivas del modelo. - Estimar modelos SARIMA, especialmente para grandes conjuntos de datos o modelos con muchos parámetros, puede ser computacionalmente intensivo y consumir mucho tiempo. - SARIMA asume que la serie temporal es estacionaria después de la diferenciación. Asegurar la estacionariedad puede requerir un examen cuidadoso de los datos y un ajuste iterativo del modelo. A pesar de estos desafíos, SARIMA sigue siendo una herramienta potente para el pronóstico de series temporales, para datos que exhiben tanto patrones no estacionales como estacionales. Con una especificación cuidadosa del modelo y selección de parámetros, los modelos SARIMA pueden proporcionar pronósticos precisos e información valiosa sobre los datos de series temporales. **f. Exponential Smoothing Model** El suavizado exponencial es un método de pronóstico de series temporales para datos univariados que puede extenderse para soportar datos con un componente de tendencia sistemática o estacional. También realiza predicciones basadas en observaciones pasadas como ARIMA pero con una diferencia clave en cómo ponderan estas observaciones: - **Pesos Exponencialmente Decrecientes** - A diferencia de ARIMA, donde los pesos pueden ser arbitrarios, el Suavizado Exponencial asigna pesos exponencialmente decrecientes a las observaciones pasadas. Esto significa que las observaciones recientes tienen una influencia mucho mayor en el pronóstico que las más antiguas. - Ejemplo: Si está prediciendo las ventas de hoy, las ventas de ayer tendrán un mayor impacto en el pronóstico que las ventas de hace una semana. - **Tipos de Suavizado Exponencial** - **Simple Exponential Smoothing (SES)**: Adecuado para datos sin tendencia ni estacionalidad. Solo utiliza observaciones pasadas. - **Holt's Linear Trend Model**: Extiende SES para capturar tendencias en los datos. - **Holt-Winters Seasonal Model**: Se extiende aún más para capturar la estacionalidad (patrones repetitivos como picos de ventas mensuales). **Ventajas** - Maneja diferentes patrones, lo que implica que puede adaptarse para manejar diferentes tipos de datos de series temporales, incluyendo aquellos con: - Sin tendencia (Simple Exponential Smoothing) - Tendencias lineales (Holt's Linear Trend Model), y - Patrones estacionales (Holt-Winters Seasonal Model) - Requiere relativamente menos datos históricos en comparación con otros métodos de pronóstico más complejos como ARIMA o modelos de aprendizaje automático. - Receptivo a los cambios porque las observaciones recientes reciben más peso, el método puede adaptarse rápidamente a cambios o desplazamientos en los datos. **Desventajas** - El suavizado exponencial puede tener dificultades para capturar relaciones complejas o fluctuaciones irregulares presentes en los datos. - El rendimiento de los modelos de suavizado exponencial puede ser sensible a la elección de los parámetros de suavizado, como el factor de suavizado (alpha). - El suavizado exponencial asume que la serie temporal subyacente es estacionaria, lo que significa que sus propiedades estadísticas permanecen constantes a lo largo del tiempo. Sin embargo, muchas series temporales del mundo real exhiben comportamiento no estacionario. - Los modelos de suavizado exponencial son sensibles a los valores atípicos o valores extremos en los datos. **g. Holt Winter's Seasonal Model** El método de Holt-Winters, también conocido como triple exponential smoothing, es una técnica ampliamente utilizada para pronosticar datos de series temporales, especialmente cuando se trata de datos que exhiben tendencia y estacionalidad. Extiende el suavizado exponencial simple para manejar estos componentes de manera más efectiva. - **Componente de Nivel (lt)**: Representa el valor promedio de la serie a lo largo del tiempo. Se actualiza en cada paso temporal basándose en el valor observado y el nivel anterior. El nivel actualizado en el tiempo 't' es una combinación del valor observado 'yt', el nivel anterior 'lt-1' y la tendencia anterior 'bt-1'. Se calcula usando un parámetro de suavizado alpha. - **Componente de Tendencia (bt)**: Captura la dirección y la tasa de cambio en la serie a lo largo del tiempo. Se actualiza para reflejar la tendencia observada en los datos recientes. La tendencia actualizada en el tiempo 't' es una combinación de la diferencia entre el nivel actual y el nivel anterior, y la tendencia anterior. Se calcula usando un parámetro de suavizado beta. - **Componente Estacional (st)**: Tiene en cuenta las variaciones estacionales o patrones que se repiten a intervalos fijos (por ejemplo, diarios, semanales, mensuales). Se actualiza para reflejar el comportamiento estacional observado en los datos. El componente estacional actualizado en el tiempo 't' es una combinación del valor observado y el componente estacional correspondiente observado en el mismo momento en temporadas anteriores. Se calcula usando un parámetro de suavizado gamma. Hay dos tipos principales de modelos Holt-Winters **Modelo aditivo**: El modelo Aditivo se utiliza cuando las variaciones estacionales son aproximadamente constantes a lo largo de la serie. Es adecuado cuando la magnitud del efecto estacional no depende del nivel de la serie temporal. ``` Level : Lt=α(Yt−St−m)+(1−α)(Lt−1+Tt−1) Trend: Tt=β(Lt−Lt−1)+(1−β)Tt−1 Season: St=γ(Yt−Lt)+(1−γ)St−m Forecast: Yt+h=L t+hTt+St−m+h ``` **Modelo multiplicativo**: El modelo Multiplicativo se utiliza cuando las variaciones estacionales cambian proporcionalmente con el nivel de la serie. Es adecuado cuando la magnitud del efecto estacional varía con el nivel de la serie temporal. ``` Level : Lt=α(Yt/St−m)+(1−α)(Lt−1+Tt−1) Trend: Tt=β(Lt−Lt−1)+(1−β)Tt−1 Season: St=γ(Yt/Lt)+(1−γ)St−m Forecast: Yt+h=(Lt+hTt)St−m+h ``` **Ventajas** - Está específicamente diseñado para capturar y pronosticar datos de series temporales con tendencia y estacionalidad, haciéndolo adecuado para una amplia gama de aplicaciones del mundo real. - El método se adapta a los cambios en los patrones de datos subyacentes a lo largo del tiempo, haciéndolo robusto en entornos dinámicos donde los datos pueden exhibir tendencias o patrones estacionales en evolución. - Los pronósticos resultantes pueden interpretarse fácilmente ya que se basan en los componentes de nivel, tendencia y estacionalidad, proporcionando información sobre el comportamiento futuro de la serie temporal. - Aunque el método involucra múltiples componentes y parámetros, es relativamente sencillo de implementar en comparación con técnicas de pronóstico más complejas. **Desventajas** - Seleccionar valores apropiados para los parámetros de suavizado alpha, beta y gamma puede ser desafiante y puede requerir experiencia o experimentación extensiva, especialmente para conjuntos de datos con características variables. - Sensible a valores atípicos o cambios repentinos en los datos, lo que puede impactar la precisión de los pronósticos, particularmente si estas anomalías no se abordan adecuadamente. - Como otros métodos de suavizado exponencial, el método de Holt-Winters asume relaciones lineales entre los componentes, lo que puede no capturar adecuadamente patrones no lineales complejos presentes en algunos datos de series temporales. - Estimar y actualizar los componentes del método de Holt-Winters para grandes conjuntos de datos o datos de alta frecuencia puede ser computacionalmente intensivo, especialmente si se implementa sin técnicas de optimización. #### 2. Algoritmos de Pronóstico Multivariado **a. Vector Auto Regressor (VAR)** El modelo Vector Auto Regression (VAR) es un algoritmo de series temporales multivariado utilizado para capturar las interdependencias lineales entre múltiples series temporales. Generaliza el modelo autorregresivo (AR) univariado a datos de series temporales multivariados. Cada variable en un modelo VAR es una función lineal de los retardos pasados de sí misma y los retardos pasados de todas las demás variables en el sistema. **Ventajas** - Los modelos VAR son adecuados para capturar las relaciones dinámicas entre múltiples series temporales sin requerir la especificación de variables dependientes e independientes. Esto los hace flexibles para modelar interdependencias complejas entre variables. - Todas las variables en un modelo VAR se tratan como endógenas, lo que significa que no es necesario categorizarlas como dependientes o independientes. Esta simetría permite una comprensión más completa de cómo las variables interactúan entre sí a lo largo del tiempo. - Los modelos VAR tienen en cuenta explícitamente los efectos retardados de cada variable sobre sí misma y sobre las demás, permitiendo un análisis detallado de las dependencias temporales. - El marco VAR permite pruebas de causalidad de Granger, que pueden identificar si una serie temporal puede predecir otra, proporcionando información sobre las relaciones causales entre variables. - Los modelos VAR facilitan el análisis de respuesta al impulso, que ayuda a comprender el efecto de un shock en una variable sobre las otras variables del sistema a lo largo del tiempo. Esto es particularmente útil en el análisis de políticas y pronósticos económicos. **Desventajas** - Los modelos VAR requieren la estimación de un gran número de parámetros, especialmente cuando se trata de muchas variables y retardos. Esto puede llevar al sobreajuste, haciendo que el modelo sea sensible al ruido y reduciendo su capacidad de generalización. - El gran número de parámetros a estimar significa que los modelos VAR requieren una cantidad significativa de datos para lograr resultados estables y confiables. Esto puede ser una limitación cuando se trabaja con series temporales cortas o datos escasos. - Aunque los modelos VAR son potentes, interpretar las relaciones entre variables puede ser desafiante, especialmente cuando el modelo incluye muchas variables y retardos. La salida del modelo puede ser compleja y puede requerir conocimiento estadístico avanzado para interpretarse correctamente. - Los modelos VAR asumen relaciones lineales entre variables. En la realidad, las relaciones entre variables de series temporales pueden ser no lineales, lo que puede limitar la efectividad del modelo para capturar las dinámicas verdaderas. - La elección de la longitud de retardo p es crucial en el modelado VAR. Muy pocos retardos pueden llevar a una especificación incorrecta del modelo, mientras que demasiados pueden causar sobreajuste. Seleccionar la longitud de retardo óptima no siempre es sencillo y a menudo requiere pruebas y validación cuidadosas. - A diferencia de los modelos Structural VAR (SVAR), los modelos VAR estándar no proporcionan una interpretación estructural de las relaciones entre variables. Esto puede ser una limitación en el análisis económico y de políticas, donde comprender los mecanismos subyacentes es importante. - Cuando las variables en el modelo VAR están altamente correlacionadas, la multicolinealidad puede convertirse en un problema, llevando a estimaciones poco confiables de los coeficientes. Esto puede dificultar discernir el verdadero impacto de cada variable sobre las demás. - A medida que aumenta el número de variables y retardos, la carga computacional de estimar los parámetros del modelo crece. Esto puede hacer que los modelos VAR sean computacionalmente intensivos, especialmente para grandes conjuntos de datos. #### Validación Cruzada La validación cruzada en series temporales es una técnica utilizada para evaluar el rendimiento de un modelo en un conjunto de datos de series temporales. A diferencia de la validación cruzada k-fold típica utilizada en el aprendizaje automático estándar, los datos de series temporales tienen un orden temporal que debe preservarse. Por lo tanto, se utilizan métodos específicos para manejar esta dependencia temporal. **i. Rolling Time Series Split** - Este método implica dividir los datos de series temporales en conjuntos de entrenamiento y validación múltiples veces de tal manera que el conjunto de entrenamiento siempre precede al conjunto de validación. - Simula la forma en que los nuevos datos están disponibles a lo largo del tiempo y asegura que el modelo siempre se pruebe con datos futuros, en relación con el conjunto de entrenamiento. - Consulte la imagen a continuación para comprender la división de datos <br /> **ii. Blocking Time Series Split** - Implica dividir los datos en bloques o pliegues contiguos, mientras se asegura que no haya superposición entre los conjuntos de entrenamiento y prueba y se mantiene el orden temporal de los datos. - Previene que el modelo vea datos futuros durante el entrenamiento, lo que llevaría al sobreajuste. - Asegura que el conjunto de entrenamiento siempre preceda al conjunto de validación, respetando el orden temporal. <br /> **iii. Day Forward Chaining** - Day Forward-Chaining se basa en un método llamado forward-chaining y evaluación de recalibración de origen continuo. Usando este método, consideramos sucesivamente cada día como el conjunto de prueba y asignamos todos los datos anteriores al conjunto de entrenamiento. - Este método produce muchas divisiones diferentes de entrenamiento/prueba. El error en cada división se promedia para calcular una estimación robusta del error del modelo. <br /> **iv. Regular Train Test Split - Predeterminado** En un escenario estándar de división entrenamiento-prueba, un conjunto de datos de series temporales se divide en dos subconjuntos: un conjunto de entrenamiento y un conjunto de prueba. El conjunto de entrenamiento se utiliza para entrenar el modelo, que contiene datos históricos, y luego se prueba en el conjunto de prueba, que incluye datos futuros no vistos. Esto permite evaluar el rendimiento del modelo y sus capacidades de generalización probando su capacidad para predecir valores futuros basados en datos pasados. Representación visual de la división Entrenamiento-prueba de los datos de la siguiente manera: <br /> ### Construir un pipeline QuickML utiliza el constructor de pipeline en modo inteligente para crear modelos de series temporales. El Smart Builder proporciona una plantilla preconstruida para modelos de series temporales, diseñada para simplificar el proceso de desarrollo del modelo desde el preprocesamiento de datos hasta la selección del modelo. Con estas plantillas preconstruidas, las operaciones están predefinidas y se presentan a los usuarios varios parámetros para configurar cada etapa. Esta plantilla elimina la ambigüedad de qué etapa usar para construir un modelo de series temporales y agiliza el proceso de construcción del modelo. ### Visualizaciones **Gráfico de Descomposición** Un gráfico de descomposición desglosa los datos de series temporales en sus componentes clave: tendencia, estacional y residual (o ruido). Ayuda a validar la presencia de estos componentes y comprender sus contribuciones al patrón general de los datos. La descomposición es particularmente útil para analizar datos de series temporales registrados a intervalos regulares durante diferentes períodos. En QuickML, el gráfico de descomposición utiliza la técnica aditiva, donde la serie temporal original se representa como la suma de sus componentes: ```Original Series = Trend + Seasonality + Residual``` <br /> Esta técnica asume que la magnitud de las variaciones estacionales y residuales permanece constante a lo largo de la serie. -------------------------------------------------------------------------------- title: "Análisis de Texto" 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-07-02T09:34:15.900Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/text-analytics/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de Text Analytics Los datos de texto se alimentan a los algoritmos en forma vectorizada para generar un modelo de NLP. Los modelos de NLP podrían clasificarse ampliamente en modelos de aprendizaje supervisado y no supervisado. En QuickML, tenemos algoritmos que utilizan datos etiquetados para construir modelos de aprendizaje supervisado. Los algoritmos incluyen: - Naive Bayes - Support vector machine (SVM) ### Naive Bayes Un algoritmo de clasificación que funciona basándose en el teorema bayesiano con la suposición ingenua de que existe una independencia condicional entre cada par de características consideradas. El teorema de Bayes calcula la probabilidad P(c|x) donde c es la clase de las posibles etiquetas objetivo y x es la instancia dada que debe clasificarse, representando ciertas características. <b>P(c|x) = P(x|c) * P(c) / P(x)</b> <b>Hiperparámetros:</b> <u>Parámetros:</u> 1. **priors: array-like of shape (n_classes,), default=None** Probabilidades a priori de las clases. Si se especifican, las probabilidades a priori no se ajustan según los datos. 2. **var_smoothing: float, default=1e-9** Porción de la varianza más grande de todas las características que se añade a las varianzas para la estabilidad del cálculo. <u>Atributos:</u> 1. **class_count_: ndarray of shape (n_classes,)** número de muestras de entrenamiento observadas en cada clase. 2. **class_prior_: ndarray of shape (n_classes,)** probabilidad de cada clase. 3. **classes_: ndarray of shape (n_classes,)** etiquetas de clase conocidas por el clasificador. 4. **epsilon_: float** valor aditivo absoluto a las varianzas. 5. **n_features_in_: int** Número de características vistas durante el ajuste. 6. **feature_names_in_: ndarray of shape (n_features_in_,)** Nombres de las características vistas durante el ajuste. Definido solo cuando X tiene nombres de características que son todas cadenas de texto. 7. **var_: ndarray of shape (n_classes, n_features)** Varianza de cada característica por clase. 8. **theta_: ndarray of shape (n_classes, n_features)** Media de cada característica por clase. ### Support vector machine (SVM) SVM es otro algoritmo popular de aprendizaje automático para clasificación que clasifica datos determinando el mejor hiperplano (límite de decisión). #### Hiperparámetros: 1. **C : float, default=1.0** Parámetro de regularización. La fuerza de la regularización es inversamente proporcional a C. Debe ser estrictamente positivo. La penalización es una penalización l2 al cuadrado. 2. **kernel: {'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'} or callable, default='rbf'** Especifica el tipo de kernel a utilizar en el algoritmo. Si no se proporciona ninguno, se utilizará 'rbf'. Si se proporciona un callable, se utiliza para precalcular la matriz del kernel a partir de las matrices de datos; dicha matriz debe ser un array de forma (n_samples, n_samples). 3. **degree: int, default=3** Grado de la función kernel polinómica ('poly'). Debe ser no negativo. Ignorado por todos los demás kernels. 4. **gamma: {'scale', 'auto'} or float, default='scale'** Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'. - si gamma= 'scale' (predeterminado) se utiliza 1 / (n_features * X.var()) como valor de gamma, - si 'auto', utiliza 1 / n_features - si es float, debe ser no negativo. 5. **coef0: float, default=0.0** Término independiente en la función kernel. Solo es significativo en 'poly' y 'sigmoid'. 6. **shrinking: bool, default=True** Si se debe usar la heurística de reducción. Consulte la Guía del Usuario. 7. **probability: bool, default=False** Si se deben habilitar las estimaciones de probabilidad. Esto debe estar habilitado antes de llamar a fit, ralentizará ese método ya que internamente utiliza validación cruzada de 5 pliegues, y predict_proba puede ser inconsistente con predict. Lea más en la Guía del Usuario. 8. **Tolerance: float, default=1e-3** Tolerancia para el criterio de parada. 9. **cache_size: float, default=200** Especifica el tamaño de la caché del kernel (en MB). 10. **class_weight: dict or 'balanced', default=None** Establece el parámetro C de la clase i a class_weight[i]*C para SVC. Si no se proporciona, se supone que todas las clases tienen peso uno. El modo "balanced" utiliza los valores de y para ajustar automáticamente los pesos de forma inversamente proporcional a las frecuencias de clase en los datos de entrada como n_samples / (n_classes * np.bincount(y)). 11. **verbose: bool, default=False** Habilita la salida detallada. Tenga en cuenta que esta configuración aprovecha una configuración de tiempo de ejecución por proceso en libsvm que, si está habilitada, puede no funcionar correctamente en un contexto multihilo. 12. **max_iter: int, default=-1** Límite estricto en las iteraciones dentro del solver, o -1 sin límite. 13. **decision_function_shape: {'ovo', 'ovr'}, default='ovr'** 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). Sin embargo, tenga en cuenta que internamente, uno-contra-uno ('ovo') siempre se utiliza como estrategia multiclase para entrenar modelos; una matriz ovr solo se construye a partir de la matriz ovo. El parámetro se ignora para la clasificación binaria. 14. **break_ties: bool, default=False** Si es verdadero, decision_function_shape='ovr', y el número de clases > 2, predict romperá los empates según los valores de confianza de decision_function; de lo contrario, se devuelve la primera clase entre las clases empatadas. Tenga en cuenta que romper empates tiene un costo computacional relativamente alto en comparación con una predicción simple. 15. **random_state: int, RandomState instance or None, default=None** Controla la generación de números pseudoaleatorios para mezclar los datos para las estimaciones de probabilidad. Se ignora cuando probability es False. Pase un int para una salida reproducible en múltiples llamadas a funciones. -------------------------------------------------------------------------------- title: "Agrupamiento" 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-07-02T09:34:15.900Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/clustering/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de Clustering El clustering es un modelo de aprendizaje automático no supervisado que se centra en agrupar puntos de datos similares basándose en sus características o patrones. En lugar de depender de etiquetas predefinidas, el clustering descubre estructuras naturales en los datos, lo que lo hace especialmente útil para el análisis exploratorio y la segmentación. Profundicemos en cómo funciona el clustering y exploremos los diferentes tipos de algoritmos de clustering que se pueden utilizar para construir modelos de clustering efectivos. A continuación se presentan los algoritmos de clustering soportados en Catalyst QuickML, junto con su tipo de Clustering, explicación, casos de uso del mundo real y parámetros clave. Nota: Clustering está disponible en acceso anticipado en todos los centros de datos. Para utilizarlo, solicite acceso a través de support@zohocatalyst.com # Algoritmos Basados en Centroides ### K-Means **Explicación:** K-Means particiona los datos en k clusters minimizando la varianza dentro de cada cluster, medida como la suma de las distancias euclidianas al cuadrado entre los puntos de datos y sus centroides de cluster. Funciona realizando iterativamente dos pasos: (1) asignar cada punto de datos al centroide más cercano (asignación dura), y (2) recalcular los centroides como la media de todos los puntos en el cluster. Este proceso se repite hasta que las asignaciones ya no cambian o se alcanza un número máximo de iteraciones. **Fórmula matemática:** min(C1, C2, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) ||x − μi||² Donde: - Ci = cluster i - μi = centroide (media) del cluster i - ∣∣x−μi∣∣2 = distancia euclidiana al cuadrado entre el punto de datos x y el centroide μi **Caso de uso:** Las empresas de retail utilizan K-Means para segmentar clientes en grupos como "económico", "regular" y "premium" basándose en hábitos de gasto. **Parámetros clave:** Nota: En los rangos de parámetros proporcionados, los corchetes [ ] indican que el valor límite está incluido, mientras que los paréntesis ( ) indican que el valor límite está excluido. Ejemplo: [1, ∞) significa que el rango comienza desde 1 (incluido) y se extiende hasta infinito (excluido). Mientras que (0, 1] significa que 0 está excluido pero 1 está incluido. <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td style="text-align:left;">n_clusters</td> <td style="text-align:left;"> Define cuántos clusters debe crear el algoritmo y, en consecuencia, cuántos centroides se generarán. Elegir el valor correcto es crítico, ya que muy pocos clusters pueden simplificar excesivamente los datos mientras que demasiados pueden llevar al sobreajuste. </td> <td style="text-align:left;">int</td> <td style="text-align:left;">[1, n_rows]</td> <td style="text-align:left;">8</td> </tr> <tr> <td style="text-align:left;">init</td> <td style="text-align:left;"> Especifica el método utilizado para inicializar los centroides antes de que comiencen las iteraciones de clustering. </td> <td style="text-align:left;">string</td> <td style="text-align:left;">{'k-means++', 'random'}</td> <td style="text-align:left;">'k-means++'</td> </tr> <tr> <td style="text-align:left;">max_iter</td> <td style="text-align:left;"> Determina el número máximo de iteraciones que el algoritmo K-Means realizará en una sola ejecución. </td> <td style="text-align:left;">int</td> <td style="text-align:left;">[1, ∞)</td> <td style="text-align:left;">300</td> </tr> <tr> <td style="text-align:left;">algorithm</td> <td style="text-align:left;"> Indica la variante específica del algoritmo K-Means a utilizar. </td> <td style="text-align:left;">string</td> <td style="text-align:left;">{'lloyd', 'elkan'}</td> <td style="text-align:left;">'lloyd'</td> </tr> </tbody> </table> ### MiniBatchKMeans **Explicación:** MiniBatchKMeans es una versión más rápida y eficiente en memoria de K-Means que procesa pequeños subconjuntos aleatorios (mini-lotes) de los datos en cada iteración en lugar del conjunto de datos completo. Al usar estos mini-lotes para actualizar los centroides, converge mucho más rápido mientras da resultados cercanos al K-Means estándar. Esto lo hace especialmente útil para grandes conjuntos de datos o datos en streaming, donde ejecutar K-Means completo sería demasiado lento o consumiría muchos recursos. **Fórmula matemática:** min(C1, C2, ..., Ck) Σ(i=1 to k) Σ(x ∈ Bt ∩ Ci) ||x − μi||² Donde Bt es un mini-lote aleatorio en la iteración t. **Caso de uso:** Las plataformas de comercio electrónico con millones de usuarios agrupan el comportamiento de navegación en tiempo real para recomendaciones de productos. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Define el número de clusters a formar así como el número de centroides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>init</td> <td>Especifica el método utilizado para inicializar los centroides.</td> <td>string</td> <td>{'k-means++', 'random'}</td> <td>'k-means++'</td> </tr> <tr> <td>max_iter</td> <td>Determina el número máximo de iteraciones que el algoritmo K-Means realizará en una sola ejecución.</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> <tr> <td>batch_size</td> <td>Tamaño de los mini lotes.</td> <td>int</td> <td>[1, ∞)</td> <td>1024</td> </tr> </tbody> </table> ### Fuzzy C-Means **Explicación:** Fuzzy C-Means es similar a K-Means pero permite asignaciones suaves, lo que significa que cada punto de datos puede pertenecer a múltiples clusters con diferentes grados de membresía. En lugar de asignar cada punto a un solo cluster, Fuzzy C-Means calcula una probabilidad de membresía para cada cluster basándose en la distancia del punto a cada centroide. Esto es particularmente útil para datos donde los clusters se superponen, ya que proporciona una vista más matizada de la membresía en lugar de forzar una elección estricta. **Fórmula matemática:** J = Σ(i=1 to k) Σ(j=1 to n) uij^m ||xj − ci||² Donde: - uij = grado de membresía del punto de datos xj en el cluster i - m = parámetro de difusidad (m>1) - ci = centroide del cluster i **Caso de uso:** Las aplicaciones de música agrupan usuarios cuyos gustos se superponen entre múltiples géneros (pop, rock, electrónica). **Parámetro clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Define el número de centros que deben inicializarse.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> </tbody> </table> ### K-Medians **Explicación:** K-Medians funciona como K-Means pero utiliza la mediana en lugar de la media para calcular los centros de cluster. Este pequeño cambio hace que el algoritmo sea más robusto frente a valores atípicos, ya que las medianas son menos influenciadas por valores extremos. El algoritmo sigue alternando entre asignar puntos al centro de cluster más cercano y recalcular los centros, pero al usar medianas, produce clusters que representan mejor el punto de datos típico en distribuciones sesgadas o de colas pesadas. **Fórmula matemática:** min(C1, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) ||x − mi|| Donde mi es la mediana de todos los puntos en el cluster i. **Caso de uso:** Las organizaciones de atención médica utilizan K-Medians para agrupar pacientes basándose en los costos medianos de tratamiento o duraciones de estancia hospitalaria, asegurando que los clusters no estén sesgados por unos pocos pacientes con facturas excepcionalmente altas o estancias inusualmente largas. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Define el número de clusters a asignar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> </tbody> </table> ### K-Modes **Explicación:** K-Modes está diseñado para clustering de datos categóricos. Reemplaza las medias con modas (el valor de categoría más frecuente en cada cluster) y utiliza una medida de disimilitud de coincidencia simple para asignar puntos a clusters. Esto lo hace adecuado para escenarios donde la distancia numérica no tiene sentido, como agrupar clientes por preferencias o categorías de productos. El algoritmo actualiza iterativamente las modas del cluster hasta que ya no cambian, produciendo grupos definidos por los valores de categoría más comunes. **Fórmula matemática:** min(C1, ..., Ck) Σ(i=1 to k) Σ(x ∈ Ci) d(x, θi) Donde d(x,θi) es el número de discrepancias entre los atributos categóricos de x y la moda θi. **Caso de uso:** Los minoristas agrupan clientes usando datos categóricos como "prefiere online/offline", "electrónica/ropa", "descuento/lujo". **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Define el número de clusters a formar así como el número de centroides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>Determina el número máximo de iteraciones del algoritmo k-modes para una sola ejecución.</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init</td> <td>Especifica el método utilizado para la inicialización.</td> <td>string</td> <td>{'Huang', 'Cao', 'random'}</td> <td>'Cao'</td> </tr> </tbody> </table> ### Affinity Propagation **Explicación:** Affinity Propagation agrupa datos intercambiando mensajes de similitud entre pares de puntos hasta que algunos puntos se identifican como "ejemplares", que actúan como centros de cluster. A diferencia de K-Means, no necesita especificar el número de clusters de antemano — el algoritmo determina automáticamente cuántos clusters formar basándose en las similitudes de entrada y un parámetro de "preferencia" que controla qué tan probable es que cada punto se convierta en un ejemplar. Esto lo hace especialmente útil cuando el número natural de clusters es desconocido. **Caso de uso:** En servicio al cliente, puede agrupar consultas de soporte entrantes en clusters sin conocimiento previo de cuántas categorías existen. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>damping</td> <td>Especifica el factor de amortiguación.</td> <td>float</td> <td>[0.5, 1.0)</td> <td>0.5</td> </tr> <tr> <td>max_iter</td> <td>Determina el número máximo de iteraciones.</td> <td>int</td> <td>[1, ∞)</td> <td>200</td> </tr> <tr> <td>convergence_iter</td> <td>Especifica el número de iteraciones consecutivas durante las cuales el número estimado de clusters permanece sin cambios antes de que el algoritmo declare la convergencia.</td> <td>int</td> <td>[1, ∞)</td> <td>15</td> </tr> <tr> <td>affinity</td> <td>Determina la medida de similitud utilizada entre puntos de datos.</td> <td>string</td> <td>{'precomputed', 'euclidean'}</td> <td>'euclidean'</td> </tr> </tbody> </table> ### Birch – Balanced Iterative Reducing and Clustering using Hierarchies **Explicación:** BIRCH está diseñado para conjuntos de datos grandes o en streaming. Construye incrementalmente un árbol CF (Clustering Feature), que almacena resúmenes compactos de puntos de datos, y utiliza estos resúmenes para realizar el clustering. El árbol CF permite a BIRCH agrupar rápidamente los datos entrantes sin tener que almacenar o procesar el conjunto de datos completo de una vez. Después de construir el árbol, un paso final de clustering global (a menudo usando K-Means) puede refinar los clusters. Este enfoque hace que BIRCH sea extremadamente eficiente en memoria y escalable. **Caso de uso:** En aplicaciones IoT, Birch puede agrupar flujos continuos de datos de sensores (como el monitoreo de tráfico de ciudades inteligentes) en grupos significativos en tiempo real. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>threshold</td> <td>Define el radio máximo de un subcluster al fusionarse con el subcluster existente más cercano.</td> <td>float</td> <td>(0, 1.0)</td> <td>0.5</td> </tr> <tr> <td>branching_factor</td> <td>Determina el número máximo de subclusters CF en cada nodo.</td> <td>int</td> <td>[1, ∞)</td> <td>50</td> </tr> <tr> <td>n_clusters</td> <td>Determina el número final de clusters a formar después de que el árbol CF se haya construido.</td> <td>int, None</td> <td>[1, ∞)</td> <td>3</td> </tr> </tbody> </table> ### K-Prototypes **Explicación:** K-Prototypes extiende K-Means y K-Modes para manejar conjuntos de datos que contienen tanto variables numéricas como categóricas. Calcula los centros de cluster usando medias para las características numéricas y modas para las características categóricas, combinando ambos usando un parámetro de ponderación que equilibra su influencia. Esto hace posible agrupar datos de tipo mixto sin un preprocesamiento extensivo o conversión. **Fórmula matemática:** d(x, y) = Σ(j ∈ num) (xj − yj)² + γ Σ(j ∈ cat) δ(xj, yj) Donde: - δ(xj,yj)=0 si son iguales, en caso contrario 1 - γ = peso que equilibra las distancias numéricas y categóricas **Caso de uso:** En analítica de recursos humanos, las empresas pueden agrupar empleados basándose en datos mixtos — numéricos (por ejemplo, años de experiencia, salario) y categóricos (por ejemplo, departamento, rol) — para identificar patrones en la fuerza laboral. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Especifica el número de clusters a formar y el número de centroides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>Determina el número máximo de iteraciones del algoritmo k-modes para una sola ejecución.</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init</td> <td>Especifica el método para la inicialización.</td> <td>string</td> <td>{'Huang', 'Cao', 'random'}</td> <td>'Cao'</td> </tr> <tr> <td>categorical</td> <td>Indica la lista de columnas categóricas.</td> <td>list, None</td> <td>Lista de columnas</td> <td>None</td> </tr> </tbody> </table> # Algoritmos Basados en Densidad ### MeanShift **Explicación:** MeanShift encuentra clusters tratando los puntos de datos como muestras de una función de densidad de probabilidad y desplazándolos iterativamente hacia la región más cercana de mayor densidad (moda). Los puntos que convergen a la misma moda forman un cluster. Este enfoque puede determinar automáticamente el número de clusters y funciona bien con clusters de forma arbitraria, pero su rendimiento depende de la elección del ancho de banda (el tamaño del kernel usado para la estimación de densidad). **Fórmula matemática:** m(x) = Σ(xi ∈ N(x)) K(xi − x) xi / Σ(xi ∈ N(x)) K(xi − x) Donde: - K es la función kernel (por ejemplo, Gaussiana) - N(x) es el vecindario alrededor de x **Caso de uso:** Segmentación de imágenes donde regiones como "cielo", "agua" y "tierra" forman clusters de píxeles similares. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>bin_seeding</td> <td>Cuando se establece en True, el algoritmo utiliza una versión discretizada de los datos de entrada para inicializar las ubicaciones del kernel en lugar de usar cada punto de datos. Esto reduce el número de semillas iniciales, haciendo el algoritmo más rápido, especialmente en grandes conjuntos de datos.</td> <td>bool</td> <td>{False, True}</td> <td>False</td> </tr> <tr> <td>cluster_all</td> <td>Controla cómo se manejan los puntos no asignados (huérfanos). Si es True, todos los puntos se fuerzan al cluster más cercano. Si es False, los puntos huérfanos que no caen dentro de ningún cluster se etiquetan como -1 (ruido).</td> <td>bool</td> <td>{False, True}</td> <td>True</td> </tr> <tr> <td>max_iter</td> <td>Especifica el número máximo de iteraciones permitidas para cada punto semilla. Si un punto semilla no ha convergido para este límite, el proceso se detiene para esa semilla.</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> ### DBSCAN **Explicación:** DBSCAN (Density-Based Spatial Clustering of Applications with Noise) agrupa puntos que están densamente empaquetados juntos (regiones densas) en clusters y etiqueta los puntos que se encuentran solos en regiones de baja densidad como ruido. No requiere especificar el número de clusters de antemano, lo que lo hace ideal para conjuntos de datos con clusters de forma irregular o cuando se quiere identificar valores atípicos explícitamente. Su rendimiento depende en gran medida de los parámetros eps (radio del vecindario) y min_samples (número mínimo de puntos en una región densa). **Fórmula matemática:** |Nε(p)| ≥ minPts Donde p es un punto núcleo y Nε(p) = conjunto de puntos dentro de la distancia ε de p. **Caso de uso:** Los sistemas bancarios agrupan patrones de transacciones normales, mientras que los sospechosos aislados se señalan como fraude. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>eps</td> <td>Define la distancia máxima entre dos puntos para que se consideren vecinos. Este parámetro influye fuertemente en el tamaño y la densidad de los clusters, convirtiéndolo en una de las configuraciones más críticas en DBSCAN.</td> <td>float</td> <td>(0, ∞)</td> <td>0.5</td> </tr> <tr> <td>min_samples</td> <td>Especifica el número mínimo de muestras vecinas requeridas (incluyendo el propio punto) para que un punto de datos se clasifique como punto núcleo. Controla qué tan densa debe ser una región para formar un cluster.</td> <td>int</td> <td>[1, ∞)</td> <td>5</td> </tr> <tr> <td>metric</td> <td>Determina la medida de distancia utilizada para calcular la similitud entre puntos de datos.</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'l1', 'l2', 'manhattan', 'minkowski'}</td> <td>'euclidean'</td> </tr> <tr> <td>algorithm</td> <td>Indica el método de búsqueda de vecinos más cercanos utilizado para encontrar las distancias punto a punto de manera eficiente.</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> </tbody> </table> # Algoritmos Basados en Medoides ### CLARA **Explicación:** CLARA (Clustering Large Applications) es una versión escalable del algoritmo Partitioning Around Medoids (PAM) que funciona agrupando múltiples pequeñas muestras aleatorias de los datos en lugar del conjunto de datos completo. Luego evalúa la calidad del clustering en el conjunto de datos completo y selecciona el mejor conjunto de medoides. Este enfoque de muestreo hace que CLARA sea factible para conjuntos de datos muy grandes donde ejecutar PAM directamente sería computacionalmente costoso. **Fórmula matemática:** Ejecuta K-Medoids en pequeñas muestras aleatorias St de los datos: min(M) Σ(x ∈ St) d(x, m(x)) Luego evalúa el costo total en el conjunto de datos completo para elegir la mejor muestra. **Caso de uso:** Los operadores de telecomunicaciones agrupan millones de registros de llamadas en categorías como "llamadas internacionales" usando muestras de datos en lugar del conjunto de datos completo. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Determina el número de clusters a formar así como el número de medoides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>max_iter</td> <td>Especifica el número máximo de iteraciones durante el ajuste.</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> ### CLARANS **Explicación:** CLARANS (Clustering Large Applications based on Randomized Search) mejora a CLARA utilizando una técnica de búsqueda aleatorizada para explorar diferentes configuraciones posibles de medoides. En lugar de verificar todos los intercambios posibles, explora solo un subconjunto de vecinos en cada paso, lo que logra un equilibrio entre eficiencia y calidad de clustering. Esto hace que CLARANS sea mejor para encontrar soluciones casi óptimas para grandes conjuntos de datos sin cálculos exhaustivos. **Concepto matemático:** Busca iterativamente mejores medoides usando intercambios locales aleatorizados: min(M) Σ(x ∈ D) d(x, m(x)) CLARANS explora soluciones vecinas aleatorias en lugar de todas las posibilidades, equilibrando velocidad y precisión. **Caso de uso:** Las autoridades de transporte urbano agrupan rutas de autobús por patrones de viaje para optimizar la programación. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Determina el número de clusters a formar así como el número de medoides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>maxneighbor</td> <td>Especifica el número máximo de vecinos examinados.</td> <td>int</td> <td>[1, ∞)</td> <td>5</td> </tr> </tbody> </table> ### K-Medoids **Explicación:** K-Medoids es similar a K-Means, pero en lugar de usar la media de los puntos de datos como centro del cluster, utiliza un punto de datos real llamado medoide. Esto lo hace más robusto al ruido y a los valores atípicos ya que los medoides son menos influenciados por valores extremos en comparación con los centroides. K-Medoids se utiliza frecuentemente cuando los conjuntos de datos contienen muchos valores atípicos o cuando la interpretabilidad de los clusters a través de puntos de datos reales es importante. **Fórmula matemática:** min(M) Σ(i=1 to k) Σ(x ∈ Ci) d(x, mi) Donde: - M={m1,...,mk} son medoides (puntos de datos reales) - d(x,mi) es una métrica de distancia (por ejemplo, Euclidiana, Manhattan) **Caso de uso:** En atención médica, K-Medoids puede agrupar registros de pacientes basándose en síntomas y resultados de pruebas, usando perfiles reales de pacientes como medoides representativos. Esto asegura que los clusters no estén sesgados por pacientes con condiciones médicas inusualmente raras o extremas. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_clusters</td> <td>Determina el número de clusters a formar así como el número de medoides a generar.</td> <td>int</td> <td>[1, n_rows]</td> <td>8</td> </tr> <tr> <td>init</td> <td>Especifica el método de inicialización de medoides.</td> <td>string</td> <td>{'random', 'heuristic', 'k-medoids++', 'build'}</td> <td>'heuristic'</td> </tr> <tr> <td>metric</td> <td>Especifica la función de distancia utilizada para medir la similitud o disimilitud entre puntos de datos.</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'haversine', 'l2', 'l1', 'manhattan', 'nan_euclidean'}</td> <td>'euclidean'</td> </tr> <tr> <td>method</td> <td>Determina qué algoritmo utilizar. 'alternate' es más rápido mientras que 'pam' es más preciso.</td> <td>string</td> <td>{'pam', 'alternate'}</td> <td>'alternate'</td> </tr> <tr> <td>max_iter</td> <td>Define el número máximo de iteraciones que el algoritmo ejecutará sobre todo el conjunto de datos. Si el proceso de clustering no converge antes de alcanzar este límite, se detiene y devuelve las asignaciones de cluster actuales.</td> <td>int</td> <td>[1, ∞)</td> <td>300</td> </tr> </tbody> </table> # Algoritmos Basados en Modelos ### Gaussian Mixture Model (GMM) **Explicación:** GMM modela los datos como una mezcla de varias distribuciones Gaussianas (normales), cada una representando un cluster. A diferencia de K-Means, que asigna cada punto a exactamente un cluster, GMM asigna probabilidades para que cada punto pertenezca a cada cluster (clustering suave). Los parámetros del modelo (medias, covarianzas y pesos de mezcla) se optimizan usando el algoritmo de Expectation-Maximization (EM). Esto permite a GMM capturar clusters con diferentes formas, tamaños y orientaciones, haciéndolo más flexible que K-Means cuando los datos no están bien separados o tienen distribuciones elípticas. **Fórmula matemática:** p(x) = Σ(i=1 to k) πi 𝓝(x | μi, Σi) Donde: - πi = peso (probabilidad) del componente i - μi = vector de media - Σi = matriz de covarianza - N(x∣μi,Σi) = distribución Gaussiana multivariada **Caso de uso:** En analítica de marketing, GMM se utiliza para agrupar clientes en grupos superpuestos basándose en comportamiento y patrones de gasto, donde cada cliente puede tener una probabilidad de pertenecer a múltiples segmentos. **Parámetros clave:** <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:40%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:15%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_components</td> <td>Especifica el número de componentes de la mezcla.</td> <td>int</td> <td>(0, ∞)</td> <td>2</td> </tr> <tr> <td>covariance_type</td> <td>Define la forma de los clusters especificando la estructura de la matriz de covarianza.</td> <td>string</td> <td>{'full', 'tied', 'diag', 'spherical'}</td> <td>'full'</td> </tr> <tr> <td>max_iter</td> <td>Establece el número máximo de iteraciones para el algoritmo de Expectation-Maximization (EM).</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>init_params</td> <td>Determina cómo se establecen los parámetros iniciales (pesos, medias y covarianzas) antes de que comience el algoritmo EM.</td> <td>string</td> <td>{'kmeans', 'k-means++', 'random', 'random_from_data'}</td> <td>'kmeans'</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Detección de Anomalías" 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-07-02T09:34:15.900Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/anomaly-detection/" service: "QuickML" -------------------------------------------------------------------------------- # Algoritmos de Detección de Anomalías La detección de anomalías es una técnica de **aprendizaje automático no supervisado** que se centra en identificar puntos de datos, eventos u observaciones que se desvían significativamente de la mayoría de los datos. Estos valores atípicos pueden representar incidentes críticos como fraudes, intrusiones en la red, fallos de equipos o problemas de calidad de datos. En lugar de predecir etiquetas predefinidas, los modelos de detección de anomalías aprenden el comportamiento normal dentro de los datos y señalan las desviaciones que pueden requerir atención. Nota: La función de Detección de Anomalías está disponible en acceso anticipado en todos los centros de datos. Para utilizarla, solicite acceso a través de support@zohocatalyst.com Para obtener una comprensión conceptual de la detección de anomalías, consulte la Documentación de Ayuda de Detección de Anomalías. La detección de anomalías en Catalyst QuickML se clasifica ampliamente en Series Temporales y No Series Temporales, cada una ofreciendo su propio conjunto de algoritmos y parámetros configurables. # Algoritmos de Detección de Anomalías en Series Temporales Dentro de Catalyst QuickML, la detección de anomalías para datos de series temporales se centra en identificar patrones anormales o desviaciones en puntos de datos secuenciales a lo largo del tiempo. Estos métodos tienen en cuenta las dependencias temporales y la estacionalidad, permitiendo la detección de picos repentinos, caídas o cambios de tendencia. Antes de explorar los algoritmos individuales de detección de anomalías en series temporales, es importante comprender los parámetros comunes utilizados para el **Control de Sensibilidad de Anomalías**, como se muestra en la imagen a continuación. Estos parámetros son consistentes en todos los algoritmos de detección de anomalías en series temporales de Catalyst QuickML y son esenciales para controlar cómo se detectan e interpretan las anomalías. Permiten a los usuarios ajustar con precisión el umbral, el tamaño de la ventana y el método de puntuación de anomalías, asegurando que el sistema diferencie con precisión entre fluctuaciones normales y comportamiento verdaderamente anómalo. **Parámetros comunes**: - **Threshold**: Determina qué tan sensible es el modelo a las desviaciones del comportamiento esperado. Un umbral más bajo aumenta la sensibilidad, señalando fluctuaciones más pequeñas como anomalías, mientras que un umbral más alto reduce los falsos positivos. - **Window size**: Define la ventana móvil de puntos de datos utilizada para el análisis. Aplicable hasta un máximo de 24 pasos temporales. - **Anomaly scoring method**: Actualmente soporta Z-Score, que mide cuánto se desvía un punto de la media en términos de desviaciones estándar. A continuación se presentan los algoritmos de detección de anomalías en series temporales soportados en Catalyst QuickML, junto con sus explicaciones, casos de uso del mundo real y parámetros clave. ### Auto Regressor **Explicación**: El modelo Auto Regressor (AR) predice valores futuros basándose en una combinación lineal de observaciones pasadas. Asume que el comportamiento pasado influye directamente en el presente, con coeficientes que representan la fuerza de la relación entre los valores pasados y actuales. QuickML extiende esto con backends de regresión flexibles, incluyendo Linear Regressor, Random Forest Regressor, AdaBoost Regressor y Gradient Boosting Regressor, permitiendo el modelado temporal tanto lineal como no lineal. **Intuición matemática**: Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + εₜ Donde: - Yt = valor actual - c = intercepto (término constante) - ϕi = coeficientes autorregresivos - Yt−i = observaciones retrasadas - εt = ruido aleatorio **Caso de uso**: Se utiliza en pronósticos financieros, detección de deriva de sensores y monitoreo predictivo de procesos, donde el historial reciente influye significativamente en el siguiente resultado — por ejemplo, predecir tendencias bursátiles a corto plazo o detectar fluctuaciones anormales en sensores de temperatura. **Parámetros clave**: Nota: En los rangos de parámetros, los corchetes [ ] incluyen los límites, y los paréntesis ( ) los excluyen. <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:20%;">Parámetro</th> <th style="text-align:left; width:25%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:20%;">Valores Posibles</th> <th style="text-align:left; width:15%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>select_model_to_fit</td> <td>Elige el modelo de regresión para ajustar la serie temporal.</td> <td>string</td> <td>{'Linear Regressor', 'Random-Forest Regressor', 'AdaBoost Regressor', 'Gradient Boosting Regressor'}</td> <td>'Linear Regressor'</td> </tr> <tr> <td>max_lag</td> <td>Define cuántos pasos temporales pasados se utilizan para predecir el valor actual.</td> <td>int</td> <td>[1, ∞)</td> <td>1</td> </tr> </tbody> </table> ### Moving Average (MA) **Explicación**: El modelo Moving Average se centra en modelar el ruido o las perturbaciones aleatorias dentro de una serie temporal. En lugar de usar valores pasados directamente, predice las observaciones actuales como una suma ponderada de los errores de pronóstico pasados. Este enfoque ayuda a suavizar la volatilidad a corto plazo y es ideal para detectar desviaciones inusuales de los patrones residuales esperados. **Intuición matemática**: Yₜ = μ + ∑ᵢ₌₁ᵠ θᵢ εₜ₋ᵢ + εₜ Donde: - Yt = observación actual - μ = media de la serie - θi = coeficientes de media móvil - εt−i = errores de pronóstico pasados **Caso de uso**: Se aplica en la detección de anomalías en precios de acciones, monitoreo de producción manufacturera y pronósticos de demanda a corto plazo, donde la identificación de patrones de error irregulares ayuda a descubrir anomalías transitorias o inestabilidad en los procesos. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">Parámetro</th> <th style="text-align:left; width:50%;">Descripción</th> <th style="text-align:left; width:10%;">Tipo de Dato</th> <th style="text-align:left; width:12.5%;">Valores Posibles</th> <th style="text-align:left; width:12.5%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>ma_lag (q)</td> <td>Especifica el número de errores de pronóstico pasados utilizados para predecir valores futuros.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> </tbody> </table> ### ARIMA (AutoRegressive Integrated Moving Average) **Explicación**: ARIMA integra tres componentes: - AR (AutoRegressive) – Utiliza valores pasados - I (Integrated) – Elimina la tendencia y la no estacionariedad mediante diferenciación - MA (Moving Average) – Modela el ruido residual Al combinar estos, ARIMA captura tanto la dependencia temporal como los cambios de tendencia. Es altamente efectivo para series temporales estacionarias y para detectar desviaciones que violan las relaciones estadísticas establecidas a lo largo del tiempo. **Intuición matemática**: Y′ₜ = c + ∑ᵢ₌₁ᵖ φᵢ Y′ₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ Donde Yt′ es la serie diferenciada después de aplicar el orden d. **Caso de uso**: Ampliamente utilizado en el monitoreo de indicadores económicos, detección de anomalías en registros del sistema y pronósticos de líneas de producción, donde es crucial detectar cambios en tendencias a largo plazo o estabilidad cíclica. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">Parámetro</th> <th style="text-align:left; width:30%;">Descripción</th> <th style="text-align:left; width:15%;">Tipo de Dato</th> <th style="text-align:left; width:10%;">Valores Posibles</th> <th style="text-align:left; width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>Número de observaciones retrasadas incluidas en el modelo.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>Número de errores de pronóstico retrasados en la ecuación de predicción.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>Número de veces que los datos se diferencian para lograr la estacionariedad.</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> </tbody> </table> ### ARMA (AutoRegressive Moving Average) **Explicación**: ARMA combina las fortalezas de los modelos AR y MA pero asume que la serie es estacionaria (sin diferenciación). Captura tanto la dependencia de observaciones pasadas como las correlaciones en los términos de error, proporcionando un equilibrio entre la sensibilidad a la tendencia y el filtrado de ruido. **Intuición matemática**: Yₜ = c + ∑ᵢ₌₁ᵖ φᵢ Yₜ₋ᵢ + ∑ⱼ₌₁ᵠ θⱼ εₜ₋ⱼ + εₜ **Caso de uso**: Se utiliza en el monitoreo de latencia de red, análisis de rendimiento de servidores y detección de anomalías en procesos estables, donde el comportamiento consistente a lo largo del tiempo hace que las pequeñas desviaciones sean altamente significativas. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">Parámetro</th> <th style="text-align:left; width:30%;">Descripción</th> <th style="text-align:left; width:15%;">Tipo de Dato</th> <th style="text-align:left; width:10%;">Valores Posibles</th> <th style="text-align:left; width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>Número de observaciones retrasadas utilizadas en el modelo.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>Número de errores de pronóstico retrasados en el modelo.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> </tbody> </table> ### Auto ARIMA **Explicación**: Auto ARIMA automatiza la selección del modelo ARIMA evaluando múltiples combinaciones de parámetros (p,d,q) y opcionalmente parámetros estacionales basados en criterios de información (como AIC o BIC). Esto permite un ajuste óptimo sin la necesidad de ajustar manualmente los parámetros y asegura que el modelo se adapte a las dinámicas temporales cambiantes. **Intuición matemática**: Selecciona automáticamente los parámetros minimizando: AIC = 2k − 2ln(L) Donde k = número de parámetros y L = estimación de máxima verosimilitud. **Caso de uso**: Ideal para pronósticos estacionales de retail, seguimiento de anomalías en el consumo de servicios públicos y monitoreo operacional automatizado, donde las series temporales exhiben irregularidades tanto periódicas como no periódicas. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:15%;">Parámetro</th> <th style="text-align:left; width:30%;">Descripción</th> <th style="text-align:left; width:15%;">Tipo de Dato</th> <th style="text-align:left; width:10%;">Valores Posibles</th> <th style="text-align:left; width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>seasonal</td> <td>Indica si el modelo debe tener en cuenta la estacionalidad.</td> <td>bool</td> <td>{True, False}</td> <td>True</td> </tr> <tr> <td>ar_lag (p)</td> <td>Parámetro de retardo AR no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>Parámetro de retardo MA no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>Orden de diferenciación no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>periodicity (s)</td> <td>Longitud del período estacional (por ejemplo, 12 para datos mensuales).</td> <td>int</td> <td>[0, ∞)</td> <td>12</td> </tr> <tr> <td>integration (D)</td> <td>Orden de diferenciación estacional.</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>max_order</td> <td>Orden total máximo del modelo (opcional).</td> <td>int</td> <td>[0, 5]</td> <td>5</td> </tr> </tbody> </table> ### SARIMA (Seasonal ARIMA) **Explicación**: SARIMA extiende ARIMA incluyendo componentes autorregresivos estacionales, diferenciación y media móvil, permitiéndole modelar fluctuaciones periódicas (por ejemplo, ciclos diarios, mensuales, anuales). Sobresale en la detección de anomalías que ocurren en relación con las expectativas estacionales. **Intuición matemática**: Φᴾ(Bˢ) φᵖ(B) (1 − B)ᵈ (1 − Bˢ)ᴰ Yₜ = Θᵠ(Bˢ) θᵩ(B) εₜ Donde: - s = período estacional - (p,d,q) = parámetros no estacionales - (P,D,Q) = parámetros estacionales **Caso de uso**: Se aplica en la detección de anomalías en carga energética, monitoreo climático y análisis de estacionalidad de ventas, donde las desviaciones del comportamiento estacional esperado señalan anomalías potenciales. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">Parámetro</th> <th style="text-align:left; width:20%;">Descripción</th> <th style="text-align:left; width:15%;">Tipo de Dato</th> <th style="text-align:left; width:10%;">Valores Posibles</th> <th style="text-align:left; width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>ar_lag (p)</td> <td>Término AR no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>ma_lag (q)</td> <td>Término MA no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>integration (d)</td> <td>Diferenciación no estacional.</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>seasonal_ar (P)</td> <td>Término AR estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>seasonal_ma (Q)</td> <td>Término MA estacional.</td> <td>int</td> <td>[0, 5]</td> <td>1</td> </tr> <tr> <td>seasonal_integration (D)</td> <td>Diferenciación estacional.</td> <td>int</td> <td>[0, 5]</td> <td>0</td> </tr> <tr> <td>periodicity (s)</td> <td>Período estacional (por ejemplo, 12 para estacionalidad mensual).</td> <td>int</td> <td>[0, ∞)</td> <td>12</td> </tr> <tr> <td>enforce_stationarity</td> <td>Si se debe forzar la estacionariedad en el modelo.</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> <tr> <td>enforce_invertibility</td> <td>Si se debe forzar la invertibilidad del modelo.</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> </tbody> </table> ### Exponential Smoothing **Explicación**: Exponential Smoothing predice valores futuros dando pesos exponencialmente decrecientes a las observaciones más antiguas. Esto enfatiza los datos recientes mientras mantiene la conciencia de la tendencia general. Es altamente receptivo a cambios repentinos en la tendencia o el nivel. **Intuición matemática**: Ŷₜ₊₁ = αYₜ + (1 − α)Ŷₜ Donde: - Y^t+1 = pronóstico - α = parámetro de suavizado (0–1) - Yt = valor real **Caso de uso**: Común en control de inventario, monitoreo de tendencias de ventas y telemetría de máquinas, donde la detección rápida de cambios o deterioro en el comportamiento reciente es vital. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:25%;">Parámetro</th> <th style="width:20%;">Descripción</th> <th style="width:15%;">Tipo de Dato</th> <th style="width:10%;">Valores Posibles</th> <th style="width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>damped_trends</td> <td>Si se debe aplicar amortiguación a los componentes de tendencia.</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> <tr> <td>season</td> <td>Tipo de estacionalidad a aplicar.</td> <td>string</td> <td>{'Add', 'Mul'}</td> <td>'Add'</td> </tr> <tr> <td>seasonal_periods</td> <td>Número de períodos en un ciclo estacional completo.</td> <td>int</td> <td>[1, ∞)</td> <td>12</td> </tr> </tbody> </table> ### Holt-Winter's Method **Explicación**: El método de Holt-Winter (Triple Exponential Smoothing) extiende el suavizado exponencial añadiendo componentes de tendencia y estacionalidad. Puede adaptarse a cambios de nivel, tendencias ascendentes o descendentes y variaciones cíclicas, proporcionando una detección robusta de anomalías para series temporales periódicas. **Intuición matemática**: Lₜ = α (Yₜ / Sₜ₋ₛ) + (1 − α)(Lₜ₋₁ + Tₜ₋₁) Tₜ = β (Lₜ − Lₜ₋₁) + (1 − β)Tₜ₋₁ Sₜ = γ (Yₜ / Lₜ) + (1 − γ)Sₜ₋ₛ Ŷₜ₊ₘ = (Lₜ + mTₜ) Sₜ₋ₛ₊ₘ Donde Lt = nivel, Tt = tendencia, St = componente estacional. **Caso de uso**: Ampliamente utilizado en pronósticos de demanda de retail, monitoreo de utilización de recursos y detección de anomalías de temperatura, donde tanto la estacionalidad como los cambios de tendencia deben capturarse para una identificación precisa de anomalías. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:25%;">Parámetro</th> <th style="width:25%;">Descripción</th> <th style="width:15%;">Tipo de Dato</th> <th style="width:20%;">Valores Posibles</th> <th style="width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>smoothing_level</td> <td>Factor de suavizado para el componente de nivel.</td> <td>float</td> <td>[0, 1]</td> <td>0.8</td> </tr> <tr> <td>smoothing_trend</td> <td>Factor de suavizado para el componente de tendencia.</td> <td>float</td> <td>[0, 1]</td> <td>0.2</td> </tr> <tr> <td>damping_trend</td> <td>Controla la amortiguación del componente de tendencia.</td> <td>bool</td> <td>{True, False}</td> <td>True</td> </tr> <tr> <td>optimise</td> <td>Especifica si los parámetros deben optimizarse automáticamente.</td> <td>string</td> <td>{'Select', 'Manual'}</td> <td>'Select'</td> </tr> <tr> <td>exponential</td> <td>Si se debe utilizar el suavizado de tendencia exponencial.</td> <td>bool</td> <td>{True, False}</td> <td>False</td> </tr> </tbody> </table> # Algoritmos de Detección de Anomalías No de Series Temporales ### One-Class SVM **Explicación**: One-Class SVM (Support Vector Machine) aprende un límite de decisión alrededor de la mayoría de los puntos de datos (normales) en el espacio de características. Los puntos que caen fuera de este límite se clasifican como anomalías. Funciona bien en conjuntos de datos de alta dimensionalidad y es efectivo cuando las anomalías son raras y distintas de los datos normales. **Intuición Matemática**: El algoritmo encuentra una función f(x) que es positiva para regiones con alta densidad de datos (puntos normales) y negativa para regiones de baja densidad (anomalías). Su objetivo es resolver: min (1/2) ||w||² + (1 / (νn)) Σ ξᵢ − ρ subject to: (w · φ(xᵢ)) ≥ ρ − ξᵢ , ξᵢ ≥ 0 Donde: - ν: controla el límite superior de valores atípicos - ξi: variables de holgura que permiten márgenes suaves - ϕ(x): función kernel que mapea datos a dimensiones superiores **Caso de uso**: Se utiliza en detección de fraude, detección de intrusiones en la red o detección de novedades en sistemas industriales donde el comportamiento normal está bien definido pero las anomalías son raras. **Parámetros clave**: Nota: En los rangos de parámetros, los corchetes [ ] incluyen el límite, mientras que los paréntesis ( ) lo excluyen. Ejemplo: [1, ∞) → incluye 1 y se extiende hasta infinito; (0, 1] → excluye 0 pero incluye 1. <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">Parámetro</th> <th style="width:30%;">Descripción</th> <th style="width:15%;">Tipo de Dato</th> <th style="width:15%;">Valores Posibles</th> <th style="width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>kernel</td> <td>Especifica el tipo de kernel a utilizar. Si no se proporciona ninguno, se usa 'rbf'.</td> <td>string</td> <td>{'linear', 'poly', 'rbf', 'sigmoid', 'precomputed'}</td> <td>'rbf'</td> </tr> <tr> <td>degree</td> <td>Grado de la función kernel polinómica ('poly'). Ignorado por otros kernels.</td> <td>int</td> <td>[1, ∞)</td> <td>3</td> </tr> <tr> <td>gamma</td> <td>Coeficiente del kernel para 'rbf', 'poly' y 'sigmoid'.</td> <td>string</td> <td>{'scale', 'auto'}</td> <td>'scale'</td> </tr> <tr> <td>coef0</td> <td>Término independiente en la función kernel, significativo en 'poly' y 'sigmoid'.</td> <td>float</td> <td>[0, 1]</td> <td>0.0</td> </tr> <tr> <td>tol</td> <td>Tolerancia para el criterio de parada.</td> <td>float</td> <td>[0, 1]</td> <td>1e-3</td> </tr> <tr> <td>nu</td> <td>Límite superior de la fracción de errores de entrenamiento y límite inferior de la fracción de vectores de soporte.</td> <td>float</td> <td>(0, 1]</td> <td>0.5</td> </tr> <tr> <td>shrinking</td> <td>Si se debe usar la heurística de reducción.</td> <td>bool</td> <td>{False, True}</td> <td>True</td> </tr> <tr> <td>max_iter</td> <td>Límite estricto en las iteraciones del solver, o -1 sin límite.</td> <td>int</td> <td>[1, ∞), {-1}</td> <td>-1</td> </tr> </tbody> </table> ### Isolation Forest **Explicación**: Isolation Forest identifica anomalías aislando observaciones en lugar de modelar puntos de datos normales. Selecciona aleatoriamente una característica y divide los datos basándose en un umbral aleatorio. Dado que las anomalías son pocas y diferentes, son más fáciles de aislar y requieren menos divisiones. La longitud promedio del camino en los árboles es más corta para las anomalías y más larga para los puntos normales. **Intuición matemática**: La puntuación de anomalía se calcula como: s(x, n) = 2^(− E(h(x)) / c(n)) Donde: - E(h(x)): longitud promedio del camino de la observación x - c(n): longitud promedio del camino de una búsqueda no exitosa en un Árbol de Búsqueda Binario - Puntuaciones cercanas a 1 → anomalías; cercanas a 0.5 → normales **Caso de uso**: Comúnmente utilizado en detección de fraude, detección de intrusiones en la red, detección de defectos de fabricación e identificación de anomalías en sensores IoT. En la detección de fraude, ayuda a descubrir transacciones sospechosas que se desvían del comportamiento de gasto normal. En la detección de intrusiones en la red, identifica patrones de acceso anormales o picos de tráfico que pueden indicar una brecha de seguridad. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">Parámetro</th> <th style="width:30%;">Descripción</th> <th style="width:15%;">Tipo de Dato</th> <th style="width:15%;">Valores Posibles</th> <th style="width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_estimators</td> <td>Número de estimadores base (árboles) en el conjunto.</td> <td>int</td> <td>[1, ∞)</td> <td>100</td> </tr> <tr> <td>max_samples</td> <td>Número de muestras a extraer para entrenar cada estimador.</td> <td>string, int, float</td> <td>[1, ∞), [0, 1], {'auto'}</td> <td>'auto'</td> </tr> <tr> <td>contamination</td> <td>Proporción de valores atípicos en el conjunto de datos.</td> <td>string, float</td> <td>{'auto'}, (0, 0.5]</td> <td>'auto'</td> </tr> <tr> <td>max_features</td> <td>Número de características a extraer para cada estimador.</td> <td>int, float</td> <td>[1, ∞), [0, 1]</td> <td>1.0</td> </tr> <tr> <td>bootstrap</td> <td>Si se deben muestrear los datos de entrenamiento con reemplazo.</td> <td>bool</td> <td>{False, True}</td> <td>False</td> </tr> </tbody> </table> ### Local Outlier Factor (LOF) **Explicación**: Local Outlier Factor detecta anomalías comparando la densidad local de un punto de datos con la de sus vecinos. Si un punto tiene una densidad sustancialmente menor que sus vecinos, se considera una anomalía. LOF es particularmente efectivo para detectar anomalías locales en lugar de globales. **Intuición matemática**: LOF se basa en el concepto de densidad de alcanzabilidad local (LRD). La puntuación LOF de un punto de datos A viene dada por: LOFₖ(A) = ( Σ_{B ∈ Nₖ(A)} [LRDₖ(B) / LRDₖ(A)] ) / |Nₖ(A)| Donde: - Nk(A): k-vecinos más cercanos de A - LRDk(A): densidad de alcanzabilidad local de A - Valores ≈ 1 → normales, > 1 → valor atípico **Caso de uso**: Se utiliza efectivamente en diversos dominios donde es esencial identificar desviaciones locales de los patrones normales. En la detección de fraude, destaca clientes o transacciones que se comportan de manera diferente a sus grupos de pares, ayudando a descubrir patrones de fraude sutiles o en evolución. Para la segmentación de clientes, detecta perfiles atípicos dentro de segmentos definidos, como clientes inusualmente de alto valor o inactivos, permitiendo estrategias de targeting y retención más precisas. **Parámetros clave**: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="width:15%;">Parámetro</th> <th style="width:30%;">Descripción</th> <th style="width:15%;">Tipo de Dato</th> <th style="width:15%;">Valores Posibles</th> <th style="width:25%;">Valor Predeterminado</th> </tr> </thead> <tbody> <tr> <td>n_neighbors</td> <td>Número de vecinos a usar para consultas de kneighbors.</td> <td>int</td> <td>[1, n_samples)</td> <td>20</td> </tr> <tr> <td>algorithm</td> <td>Algoritmo utilizado para calcular los vecinos más cercanos.</td> <td>string</td> <td>{'auto', 'ball_tree', 'kd_tree', 'brute'}</td> <td>'auto'</td> </tr> <tr> <td>leaf_size</td> <td>Tamaño de hoja para BallTree o KDTree, que afecta la velocidad y la memoria.</td> <td>int</td> <td>[1, ∞)</td> <td>20</td> </tr> <tr> <td>metric</td> <td>Métrica para el cálculo de distancia.</td> <td>string</td> <td>{'cityblock', 'cosine', 'euclidean', 'haversine', 'l1', 'l2', 'manhattan', 'nan_euclidean'}</td> <td>'minkowski'</td> </tr> <tr> <td>p</td> <td>Parámetro para la métrica de Minkowski (1=Manhattan, 2=Euclidean).</td> <td>float</td> <td>[1, ∞)</td> <td>2</td> </tr> <tr> <td>contamination</td> <td>Proporción de valores atípicos en el conjunto de datos.</td> <td>float, string</td> <td>(0, 0.5], {'auto'}</td> <td>'auto'</td> </tr> </tbody> </table> ### Conectores de Datos -------------------------------------------------------------------------------- title: "Aplicaciones Zoho" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-connectors/zoho-apps/" service: "QuickML" -------------------------------------------------------------------------------- # Data Connectors Los datos son la parte más crucial a manejar en cualquier plataforma de analytics o pipeline de aprendizaje automático. Por lo tanto, los Data Connectors están diseñados para importar datos al servicio QuickML que están almacenados en el sistema de archivos local, soluciones de almacenamiento en la nube internas y externas con facilidad. Los data connectors actuarán como un motor de ingesta de datos para importar datos al servicio QuickML utilizando **enfoques nativos de la nube y diseño asíncrono**. La importación asíncrona de datos será gestionada con schedulers en el servicio QuickML. Los datos pueden provenir de cualquiera de los servicios de almacenamiento en la nube ampliamente utilizados, como Google Cloud, AWS S3 object storage o Azure Blob. Con los permisos de acceso adecuados, los datos se importarán al servicio QuickML una vez que se inicie la importación de datos. Los conectores descargarán los datos que se soliciten importar mediante streaming y los almacenarán en el almacenamiento de QuickML. Estos datos se pueden utilizar para el entrenamiento de modelos o propósitos analíticos en QuickML. Las opciones de data connectors soportadas se listan a continuación. <br /> ## Data Connectors Internos Los siguientes son los productos internos de Zoho que están disponibles como data connectors en QuickML por defecto: - [Zoho CRM](https://help.zoho.com/portal/es/kb/crm/getting-started/articles/get-started-introduction-zoho-crm#What_is_CRM) - [Zoho Bigin](https://help.zoho.com/portal/es/kb/bigin/get-started-with-bigin/articles/about-bigin#What_is_Bigin) - [Zoho Creator](https://www.zoho.com/creator/help/new-quickstart-guide.html) - [Zoho Recruit](https://help.zoho.com/portal/es/kb/recruit/introduction-to-zoho-recruit/articles/zoho-recruit-introduction) - [Catalyst Data Store](/es/cloud-scale/help/data-store/introduction/) -------------------------------------------------------------------------------- title: "Almacenamiento en la Nube" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-connectors/cloud-storage/" service: "QuickML" -------------------------------------------------------------------------------- ## Data Connectors Externos 1. ### Amazon AWS S3 Amazon Simple Storage Service (Amazon S3) es un servicio de almacenamiento en la nube basado en web, escalable y de alta velocidad, diseñado para respaldo y archivo en línea de datos y aplicaciones en Amazon Web Services. El data connector de AWS S3 se puede utilizar para acceder a objetos almacenados en buckets de Amazon S3. Los objetos en S3 pueden ser públicos o privados. QuickML no necesita claves de autenticación para obtener objetos públicos. Si el bucket tiene acceso restringido, entonces QuickML requiere accessKey y secretKey. #### Detalles necesarios para importar datos: - **Bucket name** : El bucket en el que se almacenan los datos. - **Object name** : Nombre del archivo que necesita ser importado. - **Region** : Región del centro de datos en la que se almacena tu bucket. - **Access Key** : La Access key del usuario IAM de AWS. - **Secret Key** : La Secret key del usuario IAM de AWS. - **File Type** : El formato del archivo a importar. #### Para importar datos desde S3: Necesitas crear un usuario IAM de AWS según este [enlace](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html). Al crear un nuevo usuario IAM, asegúrate de proporcionar los permisos necesarios para acceder al servicio S3. Al final del proceso de creación del usuario IAM, obtendrás una "Access Key" y una "Secret Key". Debes almacenar la "Secret Key" en un lugar seguro ya que no se puede reproducir nuevamente. Si tienes un usuario IAM con permiso para acceder a objetos S3, puedes obtener las access y secret keys para ese usuario desde la consola de AWS. 2. ### Microsoft Azure Object Storage Microsoft Azure contiene múltiples soluciones de almacenamiento como bases de datos SQL, bases de datos NoSQL y soluciones de almacenamiento de archivos. Las soluciones de almacenamiento de archivos se utilizan principalmente para almacenar y recuperar datos no estructurados (text, csv, etc.) mediante streaming. Esto incluye Blob Storage, Queue Storage y Disk storage. #### Blob Storage: Blob storage es una solución de almacenamiento de objetos para la nube que maneja datos en blobs (unidades pequeñas) de tres maneras diferentes, según el requisito: Block blobs, Page blobs y Append blobs. Entre ellos, los Block blobs son el método más comúnmente utilizado para almacenar objetos. #### Detalles necesarios para importar datos: - **Blob Name** : Nombre del archivo en el contenedor de la cuenta de almacenamiento de Azure que necesita ser importado. - **Container Name** : Nombre del contenedor en el que se almacena el archivo. - **Connection String** : Cadena de autenticación que se debe pasar para validar los detalles de la cuenta y el usuario con Microsoft Azure. - **File Type** : Tipo del archivo que se está importando. #### Para obtener la Connection String desde Azure Portal: 1. Inicia sesión en [Azure Portal.](http://portal.azure.com/) 2. Busca y selecciona la cuenta de almacenamiento desde la cual se necesitan importar los datos. 3. Busca las access keys para obtener un valor de las connection strings proporcionadas (key 1 o key 2). 3. ### Google Cloud Storage Google Cloud Storage es una solución de almacenamiento de objetos segura y de alto rendimiento para archivar y almacenar archivos en línea. Usando el conector proporcionado, los datos almacenados en cualquier formato se pueden importar a QuickML. #### Detalles necesarios para importar datos: - **Blob Name** : Nombre del archivo en Google storage que necesita ser importado - **Bucket Name** : El bucket en el que se almacenan los datos. - **File Type** : Tipo del archivo que se está importando. - **Authentication json file** : Archivo json que contiene detalles de autenticación para acceder al objeto Se necesitarán los detalles de la cuenta de servicio de Google para solicitar los datos del servidor de almacenamiento. Los pasos para obtener los detalles de autenticación se proporcionan a continuación. #### Pasos para obtener el archivo json de autenticación del servicio: 1. En la sección IAM & Admin en [Google cloud portal](https://console.cloud.google.com/iam-admin), ve a **Service Accounts.** 2. Crea una cuenta de servicio si es necesario y proporciona acceso a los proyectos requeridos. 3. En *Service Account* navega a la pestaña Actions y selecciona Create Key. 4. Guarda la clave como archivo json y se puede utilizar como valor para el argumento de archivo de los parámetros de API mencionados a continuación. 4. ### OneDrive La solución de almacenamiento de objetos OneDrive de Microsoft también está disponible como data connector en QuickML. Permite al usuario almacenar y gestionar archivos de varios formatos de forma segura. Esta integración permite al usuario incorporar sin esfuerzo los datos de OneDrive en flujos de trabajo de aprendizaje automático, mejorando la eficiencia y versatilidad del análisis. Usando el conector proporcionado, los datos almacenados en cualquier formato se pueden importar a QuickML. #### Detalles necesarios para importar datos: - **Client Id**: Este es el identificador único asignado a tu aplicación por Microsoft al registrarla en Azure Active Directory. - **Tenant Id**: Este es el identificador único para el tenant de Azure Active Directory de tu organización. - **Client Secret**: Una clave secreta asociada con tu aplicación registrada para asegurar la comunicación segura entre la aplicación y el servicio. - **User Email**: El correo electrónico asociado con tu cuenta de OneDrive para la autenticación y permisos de acceso. - **File Name**: El nombre del archivo que deseas importar desde OneDrive. - **Source File Type**: El formato del archivo que estás importando. -------------------------------------------------------------------------------- title: "Bases de Datos Externas" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-connectors/databases/" service: "QuickML" -------------------------------------------------------------------------------- ## Bases de Datos Externas: QuickML ofrece integración fluida con diferentes bases de datos, permitiéndote obtener y utilizar datos directamente desde estas fuentes para tus proyectos de análisis y aprendizaje automático. Las bases de datos soportadas incluyen: - **MySQL** - **PostgreSQL** - **SQL Server** - **Amazon Redshift** - **Amazon Aurora** - **Amazon RDS** Junto con las opciones mencionadas anteriormente, también puedes cargar archivos locales desde tus dispositivos. -------------------------------------------------------------------------------- title: "Sistema de Archivos Local" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-connectors/local-file-upload/" service: "QuickML" -------------------------------------------------------------------------------- ## Local file system QuickML soporta la importación de datasets desde el sistema de archivos local en varias máquinas cliente como laptops, estaciones de trabajo y PCs, siempre que el usuario tenga acceso a una conectividad a internet estable para asegurar el éxito de la carga de archivos. Una vez que comienza el proceso de importación, se muestra una barra de progreso clara en la GUI para mostrar cuánto ha avanzado la carga de datos. QuickML puede importar datos de una variedad de formatos de archivo, incluyendo CSV, JSON, ORC, Parquet, text, XLS, XLSX y XLSM. ### Interfaz del Constructor de Pipelines -------------------------------------------------------------------------------- title: "Guía Paso a Paso" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/pipeline-builder-interface/walkthrough/" service: "QuickML" -------------------------------------------------------------------------------- # Interfaz del Constructor de Pipelines QuickML proporciona un editor de arrastrar y soltar fácil de usar y conveniente, potenciado con capacidades de datos y aprendizaje automático como Stages. ### Stage Un stage es una tarea individual o unidad de función que proporciona resultados particulares basados en la naturaleza del cálculo asignado. Un stage puede ser cualquier tarea relacionada con datos o ML que se puede ejecutar secuencialmente en un flujo de trabajo. Por ejemplo, un stage puede ser un filtro de datos que toma datos sin procesar como entrada y proporciona datos filtrados como salida según el tipo de filtro. ### Pipeline Un pipeline es una combinación secuencial de stages que está destinada a realizar múltiples operaciones y proporcionar un resultado colectivo como salida. Cualquier pipeline de datos o pipeline de ML se puede crear utilizando el servicio QuickML con las funcionalidades proporcionadas. ### Interfaz del Constructor de Pipelines La interfaz del Constructor de Pipelines es un componente de editor de arrastrar y soltar en el navegador proporcionado en QuickML para construir pipelines con múltiples o un solo stage de las operaciones deseadas. Este editor proporciona todas las operaciones básicas de crear, copiar, editar, deshacer, rehacer y eliminar en el proceso de construcción de pipelines. Cada módulo de datos o ML está segregado como stages en el editor y listado bajo las categorías de datos y ML. ![Pipeline Builder Interface](/images/help/quickml/pipeline-builder-interface/Pipeline_Builder_Interface.webp) Cada pipeline tendrá stages obligatorios de origen y destino. Los demás stages son personalizables según los requisitos de su pipeline. Cualquier stage que se haya agregado al editor necesita estar conectado con los stages siguiente o anterior en el editor para formar un flujo de ejecución del pipeline. Una vez que se realiza el mapeo con los stages, se mostrará una vista previa en el editor para una mejor comprensión del flujo del pipeline. ### Operaciones de Datos en el Editor Las operaciones relacionadas con datos están listadas en el constructor de pipelines para agregar en la construcción del pipeline de datos. Los detalles de cada operación en el editor se proporcionan en el capítulo de pipelines de datos de este manual. Para cada operación de datos disponible en el editor de pipelines, se abrirá un panel de configuración personalizada para completar y alimentar las configuraciones de ese stage. ### Editor de Criterios Se ha proporcionado un componente de editor de criterios en el constructor para aplicar criterios personalizados sobre los datos resultantes de cualquier stage según sus requisitos. ![Criteria Editor](/images/help/quickml/pipeline-builder-interface/Criteria_Editor.webp) Operaciones de ML en el Editor Las operaciones de ML estarán disponibles en el constructor cuando se necesite construir el pipeline del modelo. El constructor de pipelines de ML contiene tanto operaciones relacionadas con datos como operaciones de ML para formar un pipeline de ejecución. Estas opciones están categorizadas como algoritmos y operaciones para tareas de ML. Los stages de ML pueden ser cualquier algoritmo o características de Zia que estén integradas como stages en el constructor, y se pueden agregar al pipeline arrastrándolos al constructor. Una vez que el pipeline está construido, se puede guardar y mantener para desarrollo futuro, o se puede publicar para ejecutar en segundo plano. Estas ejecuciones están versionadas y los resultados de ejecución se almacenarán para hacer seguimiento del estado. Cualquier versión del pipeline se puede ver en cualquier momento y promover como pipelines listos para producción. ### Modelo de Lenguaje Grande -------------------------------------------------------------------------------- title: "Servicio LLM" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.901Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/generative-ai/llm-serving/" service: "QuickML" -------------------------------------------------------------------------------- ## Introducción al Modelo de Lenguaje Grande (LLM) Un **Modelo de Lenguaje Grande (LLM)** es un sistema avanzado de IA entrenado para generar texto similar al humano basándose en patrones aprendidos de vastas cantidades de datos como libros, sitios web y artículos. Aprovecha técnicas de aprendizaje profundo, particularmente la arquitectura de red neuronal Transformer, que procesa secuencias completas de entrada en paralelo—a diferencia de modelos anteriores como las Redes Neuronales Recurrentes (RNNs), que manejaban las entradas secuencialmente. Este paralelismo permite el uso de GPUs para un entrenamiento eficiente, acelerando significativamente el proceso. Este entrenamiento típicamente involucra aprendizaje no supervisado o auto-supervisado, donde el modelo aprende a predecir la siguiente palabra en una oración reconociendo patrones, gramática y contexto dentro de los datos. Nota: La función LLM Serving de QuickML está actualmente disponible en los centros de datos de US, IN y EU. ### Mecanismo de LLM Un aspecto fundamental de cómo operan los Modelos de Lenguaje Grande (LLMs) radica en su enfoque para representar palabras. Los modelos de aprendizaje automático anteriores dependían de tablas numéricas simples para representar palabras individuales, lo que dificultaba capturar las relaciones entre palabras—particularmente aquellas con significados similares. Esta limitación fue abordada con la introducción de vectores multidimensionales, conocidos como word embeddings. Estos embeddings mapean palabras en un espacio vectorial donde las palabras semántica o contextualmente similares se posicionan cerca unas de otras. Con estos embeddings, los transformers convierten el texto en formatos numéricos usando el encoder, permitiendo al modelo comprender el contexto, el significado y las relaciones lingüísticas—como sinónimos o roles gramaticales. Esta comprensión procesada es luego utilizada por el decoder para generar texto significativo y coherente, permitiendo a los LLMs producir respuestas que reflejan la estructura y el flujo del lenguaje natural. ### Aplicaciones de LLM LLM permite soluciones impulsadas por IA en tiempo real en diversas industrias. Aquí están las aplicaciones clave donde los LLMs están generando un impacto significativo: **Chatbots y asistentes virtuales** Los LLMs impulsan chatbots y asistentes virtuales impulsados por IA utilizados en servicio al cliente, comercio electrónico y soporte empresarial. Estos asistentes pueden manejar consultas de clientes, proporcionar respuestas automatizadas y asistir con la solución de problemas. Las empresas los utilizan para mejorar la experiencia del usuario y reducir el tiempo de respuesta. Generación y resumen de contenido Las organizaciones aprovechan los LLMs para generar contenido de alta calidad, como artículos, informes y descripciones de productos. Además, los LLMs resumen documentos extensos o artículos de noticias en formatos concisos y fáciles de leer, ahorrando tiempo y esfuerzo a los usuarios. **Generación y depuración de código** Los desarrolladores se benefician de los LLMs que asisten con la escritura, optimización y depuración de código en múltiples lenguajes de programación. Estos modelos ayudan a optimizar el desarrollo de software proporcionando sugerencias y explicaciones de código instantáneas, reduciendo el tiempo de desarrollo. **Traducción y localización de idiomas** Los LLMs mejoran los servicios de traducción proporcionando traducciones en tiempo real y conscientes del contexto para empresas e individuos. Esto es particularmente útil en la comunicación global, permitiendo una interacción fluida entre personas que hablan diferentes idiomas. Análisis de imágenes y texto (IA Multimodal) Los LLMs multimodales avanzados, como Qwen 2.5 - 7B Vision Language, procesan tanto texto como imágenes. Estos modelos pueden describir imágenes, reconocer objetos y responder preguntas visuales. Industrias como la salud, la accesibilidad y la moderación de contenido digital utilizan estas capacidades para una automatización y toma de decisiones mejoradas. Los LLMs multimodales avanzados, como Qwen 2.5 - 7B Vision Language, procesan tanto texto como imágenes. Estos modelos pueden describir imágenes, reconocer objetos y responder preguntas visuales. Industrias como la salud, la accesibilidad y la moderación de contenido digital utilizan estas capacidades para una automatización y toma de decisiones mejoradas. ## Comprendiendo LLM Serving LLM Serving implica desplegar y ejecutar modelos de lenguaje grande (LLMs) para que puedan manejar solicitudes en tiempo real para predicciones o respuestas. Cuando un LLM está entrenado, se puede utilizar para realizar una variedad de tareas, como generar texto, responder preguntas, traducir idiomas o incluso comprender y analizar grandes conjuntos de datos. ### Propósito de LLM Serving El propósito principal de LLM Serving es cerrar la brecha entre un modelo entrenado y su uso en el mundo real. Permite a las organizaciones: - Operacionalizar modelos de IA en entornos de producción - Asegurar escalabilidad y confiabilidad para manejar solicitudes concurrentes en tiempo real - Ofrecer integración fluida en productos, herramientas y procesos comerciales - Transformar los LLMs de herramientas de investigación en sistemas prácticos y utilizables que impulsen resultados comerciales ## Arquitectura de LLM Serving Una arquitectura bien estructurada asegura que un sistema de servicio de LLM funcione eficientemente y responda rápidamente. Típicamente consiste en las siguientes capas: - **Client layer**: Recibe solicitudes de usuarios o aplicaciones, como preguntas o entradas de texto. - **API layer**: Convierte las solicitudes en un formato que el LLM puede entender y las envía al modelo. - **Model layer**: Ejecuta el LLM, procesa la solicitud y genera una respuesta. - **Data layer**: Maneja los datos de entrada y salida, asegurando un flujo de datos fluido entre el modelo y los usuarios. ### Características únicas de LLM Serving en QuickML QuickML facilita el uso de varios modelos de lenguaje grande (LLMs) dentro de una interfaz de chat. Los usuarios pueden seleccionar diferentes modelos según sus necesidades y obtener respuestas en tiempo real. A diferencia de muchas plataformas competidoras que ofrecen opciones limitadas o rígidas de ajuste de parámetros, QuickML le otorga amplias opciones de personalización, asegurando mayor flexibilidad y control. Esto es lo que distingue a QuickML: - **Ajuste de respuestas sin esfuerzo**: Ajuste la creatividad, coherencia y longitud de salida directamente dentro de la interfaz fácil de usar. - **Cambio de modelo fluido**: Cambie fácilmente entre múltiples modelos LLM dentro de una sola interfaz de chat para encontrar el mejor ajuste para sus necesidades. - **Integración sin esfuerzo**: Despliegue modelos en aplicaciones de terceros usando la URL del endpoint proporcionada para una implementación fluida y escalable. - **Rendimiento optimizado y control de costos**: Adapte las respuestas para minimizar el uso innecesario de tokens, optimizando tanto la velocidad como la eficiencia de costos. - **Accesibilidad mejorada**: No se requiere configuración compleja; QuickML hace que las capacidades avanzadas de IA sean accesibles incluso para usuarios no técnicos. ### Modelos disponibles en LLM serving A continuación se presentan algunos de los modelos disponibles en QuickML, junto con sus capacidades y casos de uso. **Qwen 2.5 -14B Instruct** Un modelo de lenguaje ligero pero eficiente diseñado para tareas de propósito general, como responder preguntas, resumir texto y generación de contenido. **Detalles del modelo Qwen 2.5 - 14B Instruct** Para ver los detalles del modelo, vaya a la pestaña LLM Serving, seleccione Models y elija el modelo Qwen 2.5 - 14B Instruct. Los detalles del modelo incluyen: - **Model Size**: El modelo consta de 14 mil millones de parámetros, permitiendo comprensión y generación de lenguaje de alto nivel. - **Training Size**: Ha sido entrenado en un masivo de 18 billones de tokens, proporcionando amplia cobertura de conocimiento en dominios diversos. - **Parameters**: El modelo usa 14 mil millones de pesos aprendibles para generar respuestas precisas y conscientes del contexto. - **Input Token Limitations**: Admite entradas de hasta 128,000 tokens, permitiendo el procesamiento de contextos y documentos muy grandes. - **Endpoint URL**: La dirección de API utilizada para enviar prompts al modelo. - **OAuth Scope**: El nivel de permiso requerido para acceder al modelo. - **Authentication**: Especifica OAuth como el método para verificar la identidad del usuario. - **HTTP Method**: Indica que las solicitudes de API deben realizarse usando el método POST. - **Headers**: Requiere metadatos, incluyendo ID de organización y token OAuth, para autorización. - **Integration Section**: Proporciona código de ejemplo para conectar su aplicación con el modelo. - **Sample Request 1**: Un formato JSON de entrada de ejemplo que muestra cómo enviar un prompt al modelo Qwen 2.5 - 14B Instruct junto con parámetros como top_p, temperature y max_tokens. - **Sample Response 1**: El formato JSON de salida que contiene la respuesta generada por el modelo basada en el prompt. - **Possible Error Responses**: Lista errores de estado HTTP comunes como 400 (Bad Request) y 500 (Internal Server Error). - **Sample Error Response**: Un mensaje de error estructurado que incluye un código, mensaje y razón opcional para depurar llamadas de API fallidas. Puede consultar la [sección](http://docs.catalyst.zoho.com/es/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications) *Integrar LLM en su aplicación* para los pasos de integración del modelo en su aplicación. **Qwen 2.5 - 7B Coder** Un modelo especializado construido para tareas relacionadas con programación, incluyendo generación de código, depuración y explicación. **Detalles del modelo Qwen 2.5 - 7B** Para ver los detalles del modelo, vaya a la pestaña LLM Serving, seleccione Models y elija el modelo Qwen 7B. Los detalles del modelo incluyen: - **Model Size**: El modelo consta de 7 mil millones de parámetros, ofreciendo un rendimiento sólido en comprensión y generación de lenguaje natural. - **Training Size**: Ha sido entrenado en 5.5 billones de tokens, permitiendo amplio conocimiento de dominio y comprensión contextual. - **Parameters**: El modelo utiliza 7 mil millones de pesos aprendibles para generar respuestas inteligentes y conscientes del contexto. Input Token Limitations: Admite entradas de hasta 128,000 tokens, haciéndolo adecuado para manejar código extenso e instrucciones complejas. - **Additional Capabilities**: Equipado con características como generación de código, razonamiento y comprensión de contexto extendido. Endpoint URL: El endpoint de API utilizado para enviar solicitudes y prompts al modelo desplegado. - **OAuth Scope**: Define el nivel de acceso requerido para interactuar con el modelo (QuickML.deployment.READ). - **Authentication**: Usa OAuth para verificar y autorizar de forma segura el acceso del usuario. - **HTTP Method**: Requiere usar el método POST para enviar datos al modelo. - **Headers**: Contiene metadatos necesarios como ID de organización y token OAuth para autenticación. - **Integration Section**: Ofrece fragmentos de código listos para usar para ayudar a conectar y usar el modelo en su aplicación. - **Sample Request 1**: Demuestra cómo estructurar un prompt y configurar parámetros como nombre del modelo, temperature y max tokens. - **Sample Response 1**: Muestra la salida estructurada generada por el modelo en respuesta a la solicitud de ejemplo. - **Possible Error Responses**: Incluye errores típicos como 400 (Bad Request) y 500 (Internal Server Error) indicando solicitudes fallidas. - **Sample Error Response**: Muestra un mensaje de error en formato JSON con campos como código, mensaje y razón para solución de problemas. Puede consultar la [sección](http://docs.catalyst.zoho.com/es/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications) *Integrar LLM en su aplicación* para los pasos de integración del modelo en su aplicación. **Qwen 2.5 - 7B Vision Language** Es un modelo de visión-lenguaje de 7 mil millones de parámetros que puede comprender tanto imágenes como texto. Está diseñado para tareas como subtitulado de imágenes, respuesta a preguntas visuales y razonamiento multimodal. Para ver los detalles del modelo, vaya a la pestaña LLM Serving, seleccione Models y elija el modelo Qwen 2.5 - 7B Vision Language. Los detalles del modelo incluyen: - **Model Size**: El modelo de lenguaje principal consta de 7 mil millones de parámetros. - **Visual Encoder**: Usa un encoder de visión optimizado con resolución dinámica y mRoPE con consciencia temporal. - **Parameters**: Un total de 7 mil millones de pesos entrenables impulsan el modelo. - **Input Token Limitations**: Admite hasta tres imágenes (≈6k tokens) más texto (≈3k tokens), para un total de ~9k tokens. - **Additional Capabilities**: Proporciona razonamiento multimodal, OCR multilingüe, respuesta a preguntas sobre documentos y gráficos, y salidas estructuradas (JSON, cuadros delimitadores, puntos). - **Endpoint URL**: El endpoint de API utilizado para enviar prompts de texto e imagen al modelo de visión-lenguaje desplegado. - **OAuth Scope**: Requiere el ámbito de permiso QuickML.deployment.READ para interactuar con el modelo. - **Authentication**: Asegurado usando autenticación OAuth para acceso autorizado. - **HTTP Method**: Usa el método POST para transmitir datos de prompt y medios al modelo. - **Headers**: Incluye metadatos obligatorios como ID de organización y token de acceso para solicitudes de API seguras. - **Integration Section**: Proporciona código de ejemplo listo para usar en Python, JavaScript y otros lenguajes para integración. - **Integration Section**: Proporciona código de ejemplo listo para usar en Python, JavaScript y otros lenguajes para integración. - **Sample Request 1**: Demuestra entrada multimodal (texto + imágenes codificadas en base64), con parámetros configurables como system_prompt, top_k, top_p, temperature y max_tokens. - **Sample Response 1**: Muestra salida JSON estructurada, extrayendo detalles como información de contacto, habilidades, educación y proyectos de las imágenes de documentos proporcionadas. - **Possible Error Responses**: Incluye errores estándar como 400 (Bad Request) y 500 (Internal Server Error). - **Sample Error Response**: Devuelve un JSON con código, mensaje y razón para ayudar a depurar problemas de API. Puede consultar la [sección](http://docs.catalyst.zoho.com/es/quickml/help/generative-ai/llm-serving/#integrate-llm-into-our-applications) *Integrar LLM en su aplicación* para los pasos de integración del modelo en su aplicación. ### Desglose de la Interfaz de Chat Antes de ver cómo acceder a la función LLM Serving en QuickML, veamos brevemente cómo está estructurada la interfaz de chat. **Selección de modelo** Ubicada en la parte superior izquierda bajo la pestaña "Chat", esta sección le permite elegir entre los modelos LLM disponibles. Permite cambiar rápidamente de modelo dentro de la misma interfaz, facilitando probar diferentes modelos para casos de uso específicos sin salir de la interfaz de chat. **Ver detalles del modelo** Junto al nombre del modelo seleccionado, la opción View Model Details abre una ventana emergente que muestra información detallada sobre el modelo. Esto incluye aspectos como el tamaño del modelo, límites de tokens de entrada, datos de entrenamiento y opciones de integración. Le brinda información más profunda sobre lo que el modelo puede hacer y cómo se puede utilizar. **Interfaz de chat (Panel de conversación)** Esta área central es donde tienen lugar todas las interacciones. Puede escribir prompts y ver las respuestas generadas por el modelo en un formato de hilo. Cada respuesta incluye iconos para acciones como copiar y regenerar respuestas individuales. **Panel de parámetros** Ubicado en el lado derecho, este panel le permite ajustar el comportamiento del modelo modificando parámetros como Temperature, Top-K, Top-P y Max Tokens. También hay un campo de instrucciones para especificar tono, formato o requisitos específicos del dominio. Estas configuraciones ayudan a alinear la salida con las necesidades empresariales o específicas del usuario. **Cuadro de chat** En la parte inferior de la pantalla se encuentra el cuadro de entrada de chat—el área principal donde puede escribir sus prompts o preguntas para interactuar con el modelo de lenguaje seleccionado. ### Parámetros en LLM serving QuickML proporciona un entorno de servicio de LLM (Modelo de Lenguaje Grande) robusto y flexible, permitiendo a los desarrolladores y empresas ajustar el comportamiento del modelo de IA a través de una variedad de parámetros personalizables. Estas configuraciones le permiten controlar cómo el modelo interpreta las entradas, genera respuestas y alinea su salida con el tono, estructura y propósito deseados. Ya sea que esté construyendo un bot asesor legal, una herramienta de creación de contenido o un asistente de servicio al cliente, las opciones de configuración de parámetros de QuickML aseguran que su aplicación entregue respuestas que no solo son relevantes, sino también contextualmente adaptadas. A diferencia de otras plataformas que restringen el control del usuario, QuickML prioriza la transparencia y la adaptabilidad—permitiéndole equilibrar la creatividad con la precisión, determinar la longitud ideal de respuesta y guiar al modelo para que se comporte de maneras que mejor sirvan a sus necesidades específicas del dominio. Aquí hay un desglose de los parámetros disponibles: **Nombre del modelo** El campo del modelo le permite copiar el nombre del modelo para fácil referencia y despliegue. **Instructions** En el cuadro del campo Instructions, puede introducir instrucciones detalladas, guiando el estilo de respuesta del modelo y el enfoque de generación de contenido. Esto mejora la relevancia y consistencia de la salida para aplicaciones específicas. Por ejemplo, una firma legal puede ingresar instrucciones como "Proporcionar respuestas en un tono legal formal con citas cuando sea aplicable.", asegurando que el contenido generado por IA se alinee con los estándares de cumplimiento y profesionales. **Temperature** Controla el nivel de creatividad de las respuestas del modelo: - **Valores bajos (por ejemplo, 0.0 - 0.3)**: Respuestas más deterministas y precisas. - **Valores altos (por ejemplo, 0.7 - 1.0)**: Aumenta la variabilidad y creatividad, haciendo las respuestas más diversas y atractivas. Por ejemplo, una institución financiera que establece la Temperature en 0.2 obtendría respuestas precisas como "La Reserva Federal aumentó las tasas de interés en un 0.25%." mientras que establecerla en 0.8 podría generar "El reciente aumento de tasas de la Reserva Federal del 0.25% busca frenar la inflación, afectando las tasas hipotecarias y de préstamos." **Top-K** Determina el número de palabras más probables consideradas para la predicción del siguiente token: - **Valores bajos (por ejemplo, 10 - 20)**: Produce respuestas más predecibles y controladas. - **Valores altos (por ejemplo, 50 - 100)**: Mejora la diversidad y variación en el texto generado. Por ejemplo, un chatbot corporativo de RR.HH. con Top-K establecido en 10 puede generar respuestas estándar como "Valoramos la diversidad en nuestro proceso de contratación.", mientras que 50 permite respuestas más ricas y atractivas como "En [Nombre de la Empresa], la diversidad está en el centro de nuestro proceso de contratación, fomentando la innovación y la inclusividad." **Top-P** El muestreo Top-P también se conoce como muestreo Nucleus que generalmente varía de 0.0 - 1.0. Este parámetro establece un umbral de probabilidad acumulativa para la selección del siguiente token: - **Valores bajos (por ejemplo, 0.1 - 0.3)**: Produce respuestas altamente deterministas. - **Valores altos (por ejemplo, 0.8 - 0.9)**: Permite una generación de texto más diversa manteniendo la coherencia. Por ejemplo, una IA de soporte al cliente usando una configuración de Top-P de 0.3 podría generar respuestas directas como "Su pedido llegará en 3 días.", mientras que 0.9 podría llevar a "Se espera que su pedido llegue dentro de 3 días. ¡Recibirá una actualización de seguimiento pronto! Háganos saber si necesita más asistencia." **Max tokens** Define el número máximo de tokens (entre 1 y 4096) que el modelo puede generar en una respuesta. QuickML permite un control preciso sobre la longitud de la respuesta, optimizando costo y latencia. Por ejemplo, un equipo de cumplimiento que establece Max Tokens en 50 asegura resúmenes regulatorios concisos, como "GDPR exige la protección de datos para ciudadanos de la UE.", mientras que 500 podría generar un análisis legal integral detallando disposiciones clave y medidas de cumplimiento. ### Funcionamiento de LLM Serving en QuickML 1. Cuando un usuario envía una solicitud en la interfaz de chat de LLM serving de QuickML, el modelo seleccionado (como Qwen 2.5 - 14B Instruct) procesa la entrada. 2. El modelo analiza el contexto, la intención y el significado de la consulta para generar una respuesta relevante y coherente. 3. La respuesta se formula basándose en los datos de entrenamiento del modelo, asegurando precisión y relevancia contextual. 4. Los usuarios pueden refinar sus consultas o ajustar los parámetros del modelo para influir en el estilo de respuesta, tono y nivel de detalle. **Puntos clave a tener en cuenta:** 1. La función LLM serving está disponible para usuarios que tienen acceso a la plataforma QuickML. 2. Puede cambiar fluidamente entre múltiples modelos LLM dentro de la interfaz de chat de QuickML. 3. Actualmente, no puede borrar las conversaciones de chat anteriores ni abrir una nueva ventana de chat; todas las conversaciones permanecen dentro de la misma interfaz de chat. 4. Los chats son específicos del usuario, asegurando que un usuario no pueda acceder a la conversación de otro usuario. 5. Puede cargar imágenes y escribir su consulta usando el modelo Qwen 2.5 - 7B Vision Language para generar respuestas. 6. El LLM serving de QuickML no usa sus datos para el entrenamiento del modelo. Todas las respuestas se generan basándose en sus datos preentrenados. ### Acceso a LLM Serving en QuickML Se puede acceder a LLM Serving en QuickML siguiendo los pasos a continuación: 1. Inicie sesión en la plataforma QuickML. 2. En la sección *Generative AI*, seleccione **LLM Serving**. 3. Navegue a la pestaña **Chat**. 4. Seleccione el modelo LLM deseado del menú desplegable. - Puede seleccionar *Qwen 2.5 - 14B Instruct*, *Qwen 2.5 - 7B Coder* o *Qwen 2.5 - 7B Vision Language* 5. Comience a ingresar sus consultas en la interfaz de chat. **Nota:** La interfaz de chat genera respuestas basándose en la configuración de parámetros predeterminada. Sin embargo, puede ajustar las configuraciones según sea necesario para adaptarse a sus requisitos. **Para configurar los ajustes de parámetros** 1. En la sección *Generative AI*, seleccione la pestaña **LLM Serving**. 2. Navegue a la pestaña **Chat**. 3. En *Parameters* en el panel derecho, configure lo siguiente: - Ingrese las instrucciones detalladas sobre cómo debe funcionar el modelo. - Controle el nivel de creatividad de las respuestas del modelo ajustando la **Temperature**. - Ajuste el número de palabras más probables consideradas para la predicción del siguiente token en el campo **Top-K**. - Establezca el parámetro para un umbral de probabilidad acumulativa para la selección del siguiente token en el campo **Top-P**. - Defina el número máximo de tokens que el modelo genera por respuesta en el campo **Max Tokens**. 4. Haga clic en **Save**. Consideremos un caso de uso de ejemplo para entender cómo estos parámetros se pueden configurar en un escenario empresarial en tiempo real. **Configuración de parámetros para un chatbot de soporte al cliente en una institución financiera** **Caso de uso:** Un banco quiere asistir a los clientes con consultas bancarias generales mientras asegura que las respuestas sean precisas, concisas y alineadas con las directrices regulatorias. **Paso 1**: Ajuste de Parámetros para un Rendimiento Óptimo <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { font-family: "Google Sans", Roboto, Arial, sans-serif; font-size: 15px; color: #1c1c1c; line-height: 1.6; } table { width: 100%; border-collapse: collapse; table-layout: fixed; margin-top: 20px; } th, td { border: 1px solid #ccc; padding: 12px; vertical-align: top; font-size: 16px; } th { background-color: #f9f9f9; font-weight: 600; text-align: center; } td { text-align: left; } col:nth-child(1) { width: 20%; } col:nth-child(2) { width: 30%; } col:nth-child(3) { width: 50%; } </style> </head> <body> <table> <colgroup> <col> <col> <col> </colgroup> <thead> <tr> <th>Parámetro</th> <th>Configuración</th> <th>Razón</th> </tr> </thead> <tbody> <tr> <td>Model</td> <td>Qwen 2.5 -14B Instruct</td> <td>Seleccionado por su equilibrio entre precisión y eficiencia.</td> </tr> <tr> <td>Instructions</td> <td>Proporcionar respuestas en un tono formal y profesional. Asegurar el cumplimiento de las regulaciones bancarias. Mantener las respuestas concisas pero informativas.</td> <td>Asegura consistencia en las interacciones con los clientes.</td> </tr> <tr> <td>Temperature</td> <td>0.2</td> <td>Mantiene las respuestas factuales y evita creatividad innecesaria.</td> </tr> <tr> <td>Top-K</td> <td>20</td> <td>Limita la selección de palabras a las opciones más relevantes, reduciendo la variabilidad.</td> </tr> <tr> <td>Top-P</td> <td>0.3</td> <td>Mantiene las respuestas enfocadas y predecibles, asegurando el cumplimiento regulatorio.</td> </tr> <tr> <td>Max Tokens</td> <td>200</td> <td>Previene respuestas excesivamente largas mientras mantiene suficiente detalle para claridad.</td> </tr> </tbody> </table> </body> </html> **Paso 2**: Interacción con la Interfaz de Chat Una vez que los parámetros están configurados, el chatbot está listo para usar. Aquí hay un ejemplo de interacción: Usuario: "¿Cuáles son los criterios de elegibilidad para un préstamo hipotecario?" Respuesta del Chatbot (Qwen 2.5 - 14B Instruct, con parámetros ajustados): Los criterios de elegibilidad para un préstamo hipotecario típicamente incluyen varios factores clave para asegurar la capacidad del prestatario de pagar el préstamo. Estos criterios generalmente abarcan: - **Edad**: Los prestatarios deben estar dentro de un rango de edad específico, generalmente entre 21 y 65 años al momento del vencimiento del préstamo. - **Ingresos**: Se requiere un ingreso estable y verificable para demostrar la capacidad de pagar el préstamo. Los prestamistas pueden requerir prueba de ingresos a través de recibos de salario, estados de cuenta bancarios o declaraciones de impuestos. - **Puntuación crediticia**: Una buena puntuación crediticia es esencial ya que refleja la solvencia y el historial de pagos del prestatario. - **Empleo**: Los prestatarios deben estar empleados con un trabajo estable o tener un ingreso comercial consistente. Relación Préstamo-Valor (LTV): Esta relación compara el monto del préstamo con el valor de la propiedad. Los prestamistas tienen límites específicos de LTV basados en el tipo de propiedad y otros factores. ### Integrar LLM en sus Aplicaciones Más allá de utilizar modelos LLM dentro de la plataforma QuickML, puede integrarlos fluidamente en sus propias aplicaciones usando la URL del endpoint proporcionada. Esto permite a las empresas incorporar respuestas impulsadas por IA en varios procesos comerciales, como bots de soporte al cliente, herramientas de automatización de contenido y aplicaciones de análisis de datos. Para habilitar una integración segura y eficiente, QuickML admite autenticación basada en OAuth para la generación de tokens de acceso. Puede consultar esta documentación para detalles sobre los diferentes tipos de aplicaciones OAuth y los pasos necesarios para generar y gestionar tokens de acceso. **Para obtener la URL del endpoint** 1. Navegue a la sección **Generative AI** dentro de QuickML. 2. Seleccione la pestaña **LLM Serving**. 3. En la pestaña *Models*, elija el modelo deseado. 4. En la ventana emergente *Model Details*, desplácese hasta la sección **API Details** para obtener la URL del endpoint. -------------------------------------------------------------------------------- title: "RAG" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/generative-ai/rag/" service: "QuickML" -------------------------------------------------------------------------------- ### ¿Qué es la Generación Aumentada por Recuperación (RAG)? Para entender RAG, consideremos una analogía simple: Un usuario contacta al soporte técnico con un código de error—"7C05"—mostrado en su impresora. Aunque tiene experiencia, el agente de soporte no ha encontrado ese código específico antes. En lugar de hacer una suposición informada, el agente consulta el manual oficial de solución de problemas para ese modelo particular de impresora para encontrar una solución precisa. En este escenario, el agente representa el modelo de lenguaje, y el manual representa la fuente de conocimiento externa que RAG recupera, permitiendo al agente responder correctamente sin necesitar exposición previa a ese problema exacto. En términos técnicos, RAG es una técnica avanzada que mejora la precisión, relevancia y confiabilidad de las salidas de modelos de lenguaje grande (LLM) al incorporar información recuperada de fuentes de conocimiento externas y autorizadas. En lugar de depender únicamente de los datos disponibles durante el entrenamiento, RAG permite que un modelo consulte contenido actualizado y específico del dominio en el momento de la inferencia, fundamentando sus respuestas en información verificable y contextualmente apropiada. Los LLMs se construyen sobre arquitecturas de redes neuronales y se entrenan con vastos volúmenes de datos textuales. Su rendimiento está impulsado en gran medida por miles de millones de parámetros, que capturan patrones generalizados en el lenguaje humano. Este conocimiento parametrizado equipa a los LLMs para realizar una amplia gama de tareas, como responder preguntas, traducción y completar texto con una fluidez impresionante. Sin embargo, estos modelos pueden ser limitados cuando se les pide generar respuestas que requieren información específica, detallada o sensible al tiempo más allá de su alcance de entrenamiento. RAG aborda esta limitación optimizando el proceso generativo para recuperar primero contenido relevante de una base de conocimiento curada—como documentos internos de la empresa, bases de datos específicas del dominio o fuentes en línea confiables—y luego generar respuestas que sean tanto informadas como contextualmente fundamentadas. Este enfoque particular no requiere ningún reentrenamiento del modelo base, lo que lo convierte en un método rentable y escalable para adaptar las capacidades de los LLM a necesidades organizacionales específicas o dominios especializados. Nota: La función RAG de QuickML está actualmente disponible en los centros de datos de US, IN y EU. ### Beneficios de RAG RAG ofrece una serie de ventajas significativas que mejoran la efectividad, flexibilidad y confiabilidad de las soluciones de IA generativa, particularmente para organizaciones que buscan implementar inteligencia específica del dominio sin la sobrecarga de reentrenar modelos grandes. **Implementación rentable** La mayoría del desarrollo de chatbots y aplicaciones de IA comienza con modelos fundacionales como los modelos de lenguaje grande (LLMs) entrenados en conjuntos de datos extensos y generalizados y típicamente accedidos a través de APIs. Adaptar estos modelos mediante reentrenamiento para acomodar contenido organizacional o específico de la industria suele ser prohibitivamente costoso e intensivo en recursos. RAG proporciona una alternativa más escalable y económica. Al permitir que el modelo recupere y haga referencia a datos externos durante la inferencia, RAG permite a las empresas integrar conocimiento específico sin modificar el modelo subyacente, lo que hace que las soluciones de IA generativa sean más alcanzables y rentables. **Acceso a información oportuna y dinámica** Mantener respuestas actualizadas es un gran desafío para los modelos estáticos, ya que sus datos de entrenamiento rápidamente se vuelven obsoletos. RAG aborda este problema al permitir a los usuarios alimentar el modelo con fuentes de información continuamente actualizadas. Ya sea la última investigación científica, noticias de último momento o feeds de redes sociales en tiempo real, RAG equipa a los modelos de IA generativa con acceso a datos actuales. Esto asegura que las respuestas permanezcan relevantes y precisas, incluso en dominios que evolucionan rápidamente. **Mayor transparencia y confianza del usuario** Una de las fortalezas clave de RAG es su capacidad para proporcionar respuestas basadas en fuentes. Al hacer referencia a documentos externos e incluir citas, ofrece transparencia sobre el origen de la información. Los usuarios pueden revisar estas fuentes para verificar el contenido o explorar más, mejorando su confianza en el sistema. Esta trazabilidad hace que las respuestas de IA generativa no solo sean más creíbles sino también más alineadas con los estándares de cumplimiento o aseguramiento de calidad en industrias reguladas. ### Aplicaciones de RAG La Generación Aumentada por Recuperación (RAG) se está adoptando cada vez más en todas las industrias para mejorar las capacidades de los modelos de lenguaje grande (LLMs), especialmente en áreas que requieren conocimiento específico del dominio, información en tiempo real o resultados transparentes. A continuación se presentan varias áreas de aplicación clave donde RAG ofrece un impacto significativo: **Asistentes de conocimiento empresarial** Las empresas recurren cada vez más a asistentes basados en RAG para optimizar el acceso al conocimiento interno de los empleados. Estas herramientas impulsadas por IA están diseñadas para consultar datos estructurados y no estructurados de repositorios específicos de la empresa, como wikis internos, SOPs, directrices de RR.HH., listas de verificación de cumplimiento, documentación de TI y materiales de incorporación. A diferencia de los chatbots estáticos, que dependen de reglas predefinidas o datos de entrenamiento desactualizados, RAG obtiene dinámicamente los documentos más relevantes, asegurando que los empleados reciban respuestas precisas, actualizadas y alineadas con las políticas. Esto lleva a una mayor productividad, menor dependencia de equipos de soporte y una fuente unificada de verdad entre departamentos. **Automatización del servicio al cliente** Las plataformas de servicio al cliente pueden elevar significativamente la experiencia del usuario al integrar RAG para ofrecer interacciones más inteligentes y conscientes del contexto. Al recuperar contenido directamente de manuales de productos, guías de solución de problemas, documentos de garantía y bases de conocimiento de mesa de ayuda, los chatbots impulsados por RAG pueden resolver consultas de clientes de manera más efectiva—incluso aquellas relacionadas con productos lanzados recientemente o raramente encontrados. Esto elimina la necesidad constante de reentrenar modelos con nuevo contenido y permite operaciones de soporte escalables con mínima intervención humana. La inclusión de fuentes rastreables también genera confianza en el cliente y aumenta la satisfacción del cliente. **Investigación legal y regulatoria** Los profesionales legales operan en un dominio donde la precisión, las citas y la trazabilidad son primordiales. Las herramientas basadas en RAG empoderan a los equipos legales al permitir la recuperación directa de cláusulas de estatutos, jurisprudencia anterior, políticas gubernamentales o documentos internos de cumplimiento. En lugar de revisar manualmente textos voluminosos, los usuarios pueden obtener resúmenes concisos, con referencias cruzadas a los documentos originales para solidez legal. Estas aplicaciones son especialmente útiles para redactar opiniones legales, realizar auditorías regulatorias o preparar respuestas para revisiones de cumplimiento, asegurando que cada resultado esté fundamentado en un contexto legal verificable. **Soporte de decisiones médicas y de salud** En el sector de la salud, la toma de decisiones oportuna y basada en evidencia puede impactar directamente los resultados de los pacientes. Los sistemas RAG apoyan a los clínicos, investigadores y administradores al hacer referencia a datos de fuentes médicas como guías de tratamiento y registros clínicos institucionales. Al incorporar información relevante en sus respuestas, un modelo RAG puede asistir con el soporte de decisiones clínicas, recomendaciones de atención específicas del paciente, diagnósticos diferenciales o interacciones medicamentosas, todo mientras cita el material fuente. Este enfoque mejora la confianza en las recomendaciones impulsadas por IA. **Investigación científica y redacción técnica** RAG desempeña un papel vital en la aceleración de los flujos de trabajo de investigación y en asegurar la precisión del contenido en la redacción técnica. Los investigadores pueden consultar bases de datos académicas extensas para resumir el estado del arte, generar revisiones de literatura o validar hipótesis con hallazgos actuales. De manera similar, los redactores técnicos pueden usar RAG para redactar documentación de productos basada en los datos más recientes y manuales de usuario. Ya sea resumiendo desarrollos científicos o redactando informes, RAG asegura que el contenido generado esté respaldado por fuentes confiables y específicas del dominio, manteniendo así tanto la precisión como la credibilidad. ### ¿Cómo funciona RAG? RAG integra dos procesos clave: recuperación y generación. En lugar de depender únicamente del conocimiento codificado durante el entrenamiento de un modelo de lenguaje, RAG lo complementa extrayendo dinámicamente información relevante de fuentes externas (como bases de datos, documentos o bases de conocimiento) en el momento de la inferencia. Este enfoque permite al modelo entregar respuestas que son más precisas, actuales y contextualmente apropiadas. Aquí hay un flujo simplificado de cómo funciona RAG: - **Entrada/consulta del usuario**: El proceso comienza cuando un usuario introduce una pregunta o prompt. - **Recuperación**: El sistema usa la consulta para buscar en una fuente de conocimiento externa grande (por ejemplo, base de datos vectorial, almacén de documentos o índice de búsqueda) para recuperar las top-k piezas de información más relevantes (a menudo llamadas "pasajes" o "contextos"). Esto se realiza típicamente usando búsqueda semántica impulsada por embeddings. - **Fusión/contextualización**: Los pasajes recuperados se pasan junto con la consulta original a un modelo de lenguaje. Estos pasajes proporcionan contexto que fundamenta la generación en conocimiento factual o específico del dominio. - **Paso de generación**: El modelo de lenguaje (por ejemplo, un LLM basado en transformer) toma tanto la consulta como los documentos recuperados como entrada y genera una respuesta coherente e informada. - **Citación/trazabilidad**: Dado que los modelos RAG dependen de documentos reales para las respuestas, pueden proporcionar referencias rastreables o enlaces al material fuente, aumentando la transparencia y la confianza. ### ¿Qué hace único a RAG en QuickML? El RAG de QuickML está diseñado para ofrecer una experiencia fluida, segura y transparente al generar respuestas impulsadas por una base de conocimiento. Esto es lo que distingue a RAG en QuickML: - Una vez que se genera una respuesta, un desglose detallado de la respuesta está disponible. Este desglose indica qué partes de los documentos recuperados fueron referenciadas durante el proceso de generación y muestra claramente el origen de la información de apoyo. Mejora la transparencia al permitirle ver exactamente qué documentos contribuyeron a la salida final. - La implementación de RAG de QuickML aprovecha el ecosistema de Zoho—como WorkDrive y Zoho Learn—para importar documentos relevantes a la base de conocimiento de manera fluida. Esta integración asegura que la información más precisa y específica del contexto esté siempre disponible para respaldar sus consultas. ### Modelos disponibles en el RAG de QuickML RAG en QuickML aprovecha el modelo Qwen 2.5 14B Instruct para entregar respuestas contextuales y relevantes. Qwen 2.5 14B Instruct es un modelo de IA altamente capaz diseñado para realizar una gama diversa de tareas de lenguaje con consistencia y precisión. Entrenado en conjuntos de datos de alta calidad a gran escala, entrega resultados confiables y demuestra un rendimiento sólido en múltiples benchmarks. Lo que distingue a Qwen 2.5-14B-Instruct es su capacidad para adaptarse rápidamente y responder a escenarios dinámicos del mundo real, haciéndolo excepcionalmente adecuado para aplicaciones empresariales y de grado de producción. **Detalles del modelo Qwen 2.5 14B Instruct** Para ver los detalles del modelo, vaya a la pestaña RAG y haga clic en la opción View API en la esquina superior derecha de la interfaz de chat. Los detalles del modelo incluyen: - **Model size**: Comprende 14 mil millones de parámetros, habilitando capacidades sofisticadas de comprensión y generación de lenguaje. - **Training size**: Entrenado en 18 billones de tokens para asegurar una cobertura extensa en una amplia gama de dominios. - **Parameters**: Utiliza 14 mil millones de pesos entrenables para generar respuestas matizadas y altamente relevantes. - **Input token limitations**: Admite 128K tokens con longitud de contexto de entrada, permitiendo contexto profundo y referencias de documentos largos durante la ejecución de RAG. - **Endpoint URL**: Esta es la URL utilizada para enviar solicitudes de API. - **OAuth Scope**: QuickML.deployment.READ; define el nivel de acceso requerido para usar el deployment. - **Authentication**: Se utiliza OAuth para verificar la identidad del cliente de forma segura. - **HTTP method**: POST; todas las llamadas a la API deben realizarse a través del método POST. - **Headers**: Incluyen metadatos requeridos y el token de autorización para autenticar las solicitudes. - **Sample request**: Un formato JSON predefinido muestra cómo estructurar su prompt de entrada. - **Sample response**: Muestra la salida del modelo, incluyendo texto contextualmente fundamentado generado basándose tanto en el prompt como en la información recuperada de los documentos de KB. Puede consultar la sección *Integración de RAG en sus aplicaciones* para los pasos para integrar el modelo en su aplicación. ### Comprendiendo la interfaz de RAG en QuickML La función RAG en QuickML le permite obtener respuestas basadas en documentos usando Qwen 2.5 14B Instruct. La interfaz está diseñada para facilitar la carga de documentos, hacer preguntas y rastrear la fuente de cada respuesta. Aquí hay un desglose de cómo se ve. **Selección de modelo** En la parte superior del panel de chat, los usuarios pueden seleccionar el modelo disponible. Actualmente, Qwen 2.5 14B Instruct es compatible para conversaciones basadas en RAG. Este modelo está optimizado para generar respuestas fundamentadas y conscientes del contexto a partir de documentos cargados. **Interfaz de chat (panel de conversación)** En el centro está el espacio de interacción principal donde usted ingresa sus consultas y ve las respuestas. Cada respuesta generada por IA se muestra debajo de la entrada del usuario y puede incluir: - Iconos de acción para copiar o regenerar la respuesta - Una opción "View Response Breakdown", que brinda información sobre cómo se generó la respuesta y de qué documentos **Panel de desglose de respuesta** Cuando hace clic en "View Response Breakdown", aparece una ventana emergente que ofrece información detallada: - **Thought process**: Muestra los fragmentos de contenido específicos referenciados durante la generación de la respuesta, junto con sus fuentes correspondientes e IDs de documento. - **Citations**: Lista los documentos utilizados y resalta las secciones exactas que se usaron para generar la respuesta. **Almacén de documentos** En el lado derecho de la interfaz, el almacén de documentos lista todos los documentos actualmente activos para recuperación. Cada documento muestra su nombre, formato y tamaño. Los usuarios pueden incluir documentos relevantes para la generación de respuestas desde la base de conocimiento seleccionando la opción Add Documents. **Agregar documentos** Al hacer clic en **Add Documents** se abre un panel etiquetado Add Documents From Knowledge Base. Aquí, los usuarios pueden seleccionar documentos existentes o cargar nuevos. El panel incluye una barra de búsqueda para localizar documentos en la base de conocimiento rápidamente. - **Opciones de carga** Al cargar un nuevo documento, se admiten tres métodos convenientes: - **From desktop**: Admite archivos .pdf, .docx y .txt, con un límite de tamaño de 500KB por archivo. - **From WorkDrive**: Permite a los usuarios importar archivos directamente desde el almacenamiento en la nube. - **Via Zoho Learn link**: Permite la importación de documentos pegando la URL del artículo deseado de Zoho Learn. Cada archivo cargado recibe un ID único y queda disponible para recuperación durante las conversaciones. **Carga de documentos a la base de conocimiento** Para asegurar que los documentos aparezcan en el panel Add Documents From Knowledge Base, los archivos relevantes primero deben cargarse en el repositorio de Knowledge Base. Tenga en cuenta que, al hacer clic en **New Document** en el panel *Add Documents From Knowledge Base*, los documentos se agregarán automáticamente a la base de conocimiento. La Knowledge Base funciona como un repositorio centralizado de documentos donde los usuarios pueden cargar y gestionar contenido crítico para la generación consciente del contexto. La integración con los ecosistemas de Zoho como WorkDrive y Zoho Learn permite la importación fluida de archivos internos, manuales, preguntas frecuentes y otros recursos. Esta configuración asegura que la Knowledge Base permanezca actualizada y completa, respaldando la capacidad del modelo para proporcionar respuestas respaldadas por fuentes y adaptadas a las consultas de los usuarios. **Para cargar documentos desde la base de conocimiento** 1. Navegue a la pestaña *Knowledge Base* en la plataforma **QuickML**. 2. Haga clic en **Upload Document**. 3. Elija cualquiera de las siguientes formas para cargar el documento: - Seleccione **Upload a file** para cargar el documento desde su escritorio. Aquí, debe ingresar el nombre y seleccionar el archivo a cargar desde su sistema local. - Seleccione **Zoho Workdrive** para importar el documento desde workdrive. Aquí, debe proporcionar el nombre del documento y el enlace de workdrive de su documento. - Seleccione **Zoho Learn** para importar un artículo de Zoho Learn. Aquí, debe ingresar el nombre del documento, seleccionar si está importando un artículo o un manual, y proporcionar el enlace del artículo. 4. Una vez cargado, el documento aparecerá en el repositorio de la base de conocimiento. Desde allí, puede **eliminarlo** o **copiar** el ID del documento según sea necesario. **Notas:** - Los documentos cargados en el almacén de documentos se pueden eliminar pasando el cursor sobre el documento deseado y haciendo clic en el icono Eliminar. - Cuando se envía una consulta con documentos específicos de la base de conocimiento agregados al almacén de documentos, RAG limita su búsqueda solo a esos documentos agregados. Si no se agregan documentos al almacén de documentos, RAG busca automáticamente en todos los documentos activos de la base de conocimiento. Esto asegura que la consulta se responda usando el contenido disponible más relevante sin requerir selección manual de documentos. **View API** La interfaz de chat también incluye una opción View API en la esquina superior derecha. Al seleccionarla se abre un panel que muestra información detallada sobre el modelo actual, como su tamaño, límites de tokens, URL del endpoint y requisitos de autenticación. ### Cómo funciona RAG en QuickML Sin RAG, un modelo de lenguaje grande (LLM) genera respuestas basándose únicamente en sus datos de entrenamiento. Con RAG, el proceso se mejora al introducir un paso de recuperación de información externa, permitiendo al modelo acceder a datos frescos y relevantes en el momento de la consulta. Así es como funciona brevemente: **Hacer una pregunta** El usuario comienza ingresando una consulta en lenguaje natural, por ejemplo, "¿Cuál es la política de devolución de nuestra empresa?" o "Resume las últimas actualizaciones en nuestra documentación de producto." Esta consulta actúa como una entrada inicial que activa el pipeline de RAG. **Recuperar información relevante de sus documentos** En lugar de depender únicamente del conocimiento preentrenado del modelo de lenguaje, RAG se conecta a su base de conocimiento (como archivos internos, PDFs, etc.). Usando técnicas avanzadas de embedding y búsqueda semántica, el sistema identifica y obtiene las piezas de información más relevantes basándose en la pregunta del usuario. **Refinar resultados con re-ranking** Una vez que se recuperan los documentos relevantes, se aplica un proceso de re-ranking para alinear mejor el contenido seleccionado con la intención del usuario. Este paso evalúa múltiples señales—como similitud semántica y presencia de palabras clave—para reordenar los resultados y destacar el contenido más contextualmente apropiado para la consulta. **Pasarlo al LLM** El contenido recuperado se combina entonces con la consulta original y se envía como un prompt aumentado al LLM (Qwen 2.5-14B-Instruct). Este paso permite al LLM leer la información específica del contexto y usarla para generar una respuesta informada. **Generar respuestas conscientes del contexto** Con tanto la consulta del usuario como los datos de apoyo en mano, el LLM elabora una respuesta que no solo es relevante sino que está basada en el material fuente real. Este enfoque ayuda a asegurar que las respuestas se basen en información verificable y estén alineadas con el material fuente. También permite a los usuarios rastrear las respuestas hasta los documentos originales, lo que promueve la transparencia y genera confianza en el sistema. **Notas importantes** - La función RAG está disponible para usuarios que tienen acceso a la plataforma QuickML. - Los chats son específicos del usuario, asegurando que un usuario no pueda acceder a la conversación de otro usuario. Actualmente, el historial de chat no es compatible. Las conversaciones permanecen visibles hasta que se actualiza la página; una vez actualizada, todos los chats se borran. ### Acceso a RAG en QuickML Se puede acceder a RAG dentro de QuickML mediante estos pasos: 1. Inicie sesión en su cuenta de **QuickML**. 2. En la sección *Generative AI*, seleccione **RAG**. 3. En *Document Store* en el panel derecho, haga clic en **Add Documents**. Esto abrirá un panel etiquetado Add Documents From Knowledge Base. 4. En el panel *Add Documents From Knowledge Base*, seleccione archivos existentes o haga clic en **New Document** para cargar desde su escritorio, WorkDrive o Zoho Learn. 5. Ingrese sus consultas en la interfaz de chat. El modelo recuperará información relevante de la base de conocimiento y proporcionará respuestas conscientes del contexto, incluyendo el desglose detallado de la respuesta. **Nota**: Las respuestas se generan basándose en los documentos almacenados en la base de conocimiento. Puede agregar nuevos documentos según sea necesario para asegurar que el modelo tenga los datos requeridos para responder consultas. Consideremos algunos casos de uso de ejemplo para entender cómo RAG se puede usar en un escenario empresarial en tiempo real. **Caso de uso de ejemplo 1: Implementación de RAG para asistencia de políticas de empleados en una organización** Una empresa que busca mejorar la comprensión de los empleados sobre las políticas de ética y capacitación comienza reuniendo todos los documentos relevantes—como el Código de Conducta, la Política de Etiqueta en la Oficina, la Política Anti-Acoso, las Directrices de Comportamiento en el Lugar de Trabajo y los Manuales de Capacitación Obligatoria—y cargándolos en la base de conocimiento RAG de QuickML. Desde la interfaz de chat de RAG, el administrador accede al panel **Add Documents From Knowledge Base** para importar o seleccionar archivos existentes. Una vez cargados, los documentos forman un repositorio centralizado y estructurado que Qwen 2.5 14B Instruct puede referenciar durante las interacciones con los usuarios. Cuando un empleado hace una pregunta como *"¿Cuál es la política de ética de los empleados?"*, el sistema RAG de QuickML realiza una búsqueda semántica en las políticas cargadas, recupera la información más relevante y la combina con la consulta. Este contexto se envía entonces a Qwen 2.5 14B Instruct, que genera una respuesta concisa y contextualmente precisa. El usuario también puede ver un desglose detallado de qué documentos y secciones específicas se utilizaron para generar la respuesta—asegurando transparencia y confianza en la información proporcionada. **Caso de uso de ejemplo 2: Mejorando el soporte al cliente con RAG para una plataforma SaaS** Una empresa SaaS que busca mejorar su experiencia de soporte al cliente aprovecha RAG para construir un asistente de ayuda inteligente. El equipo de soporte recopila todos los recursos relevantes—preguntas frecuentes del producto, manuales de usuario, guías de solución de problemas, notas de lanzamiento y documentación de API—y los carga en la base de conocimiento RAG dentro de QuickML. A través de la interfaz de chat de RAG, el administrador usa el panel **Add Documents From Knowledge Base** para poblar el almacén de documentos con este contenido, asegurándose de que se mantenga actualizado con cada lanzamiento de producto. Una vez configurado, el sistema RAG se convierte en un repositorio central de soporte. Cuando un usuario envía una consulta como *"¿Cuáles son los posibles mensajes de error?"*, el sistema busca semánticamente en el almacén de documentos la información más relevante, recupera el contenido coincidente y envía tanto la consulta como el contexto de apoyo al modelo de lenguaje. El modelo entonces genera una solución precisa y fácil de seguir, haciendo referencia a las secciones precisas de la documentación. Los usuarios pueden ver el material fuente detrás de la respuesta para transparencia y lectura adicional, reduciendo el volumen de tickets y mejorando la efectividad del autoservicio. ### Integración de RAG en sus aplicaciones Puede integrar el RAG de QuickML en sus aplicaciones usando la URL del endpoint proporcionada. Esto permite a las empresas mejorar las herramientas de soporte al cliente, chatbots internos y sistemas de automatización de documentos con capacidades de IA ricas en contexto. Para habilitar una integración segura y eficiente, QuickML admite autenticación basada en OAuth para la generación de tokens de acceso. Puede consultar esta documentación para detalles sobre los diferentes tipos de aplicaciones OAuth y los pasos necesarios para generar y gestionar tokens de acceso. **Para obtener la URL del endpoint** 1. Navegue a la sección **Generative AI** en QuickML. 2. Seleccione la pestaña **RAG**. 3. Haga clic en la opción **View API** en la esquina superior derecha de la interfaz de chat. 4. En la ventana emergente *Model Details*, desplácese hasta la sección **API Details** para obtener la URL del endpoint. -------------------------------------------------------------------------------- title: "Base de Conocimiento" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.902Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/generative-ai/knowledge-base/" service: "QuickML" -------------------------------------------------------------------------------- ### Introducción a Knowledge Base Las organizaciones se esfuerzan por gestionar y aprovechar grandes cantidades de datos e información. Ya sea para el intercambio de conocimiento interno, materiales de capacitación, soporte al cliente o alimentar modelos de IA, tener un repositorio centralizado de datos es esencial. Aquí es donde entra en juego una knowledge base (KB). Una knowledge base es un repositorio estructurado que permite a las organizaciones almacenar, gestionar y recuperar información de manera eficiente. Típicamente incluye documentos, FAQs, guías, procedimientos operativos estándar y más. Estos documentos están curados para asegurar accesibilidad, confiabilidad y relevancia contextual. Una knowledge base bien mantenida ayuda a reducir consultas repetitivas, apoya la incorporación y empodera a los usuarios con acceso instantáneo a contenido crítico. Por ejemplo, un agente de soporte podría consultar la knowledge base para resolver un problema del cliente más rápidamente, mientras que un chatbot entrenado en el mismo repositorio puede proporcionar respuestas instantáneas a los usuarios finales. En el contexto de QuickML, esta knowledge base cumple un propósito aún más poderoso: enriquece los modelos de IA, haciendo que las respuestas de la máquina sean más inteligentes, contextuales y precisas. Nota: La función de Knowledge Base de QuickML está actualmente disponible en los centros de datos de US, IN y EU. ### El rol de Knowledge Base en QuickML En QuickML, la knowledge base no es solo un sistema de almacenamiento de documentos; es una capa fundamental que interactúa directamente con las capacidades de IA. Una vez que se cargan los documentos, se indexan de manera inteligente y se aprovechan como fuentes de datos contextuales. Esto se vuelve especialmente crucial para funciones como Retrieval-Augmented Generation (RAG), donde los modelos de IA acceden a la knowledge base para recuperar y entregar respuestas precisas y ricas en contexto en respuesta a las consultas del usuario. Al permitir que los documentos sean referenciados por modelos de ML dinámicamente, QuickML asegura que las respuestas generadas a través de APIs o interfaces de chat sean contextualmente relevantes, factualmente precisas y fundamentadas en conocimiento organizacional en tiempo real. Esta fusión de datos e IA transforma documentos pasivos en entradas activas y vivas para sistemas inteligentes de toma de decisiones. ### Accediendo a la Knowledge Base En QuickML, puedes acceder a la pestaña **Knowledge Base** directamente desde el panel de navegación izquierdo bajo la sección *GENERATIVE AI*, junto a las opciones de LLM Serving y RAG, destacando su relevancia estratégica en el desarrollo de pipelines de IA. ### Cargando documentos a la Knowledge Base Para poblar tu knowledge base, QuickML proporciona tres métodos de carga distintos. Cada método ofrece flexibilidad basada en la fuente de tu documento. **Cargar un archivo (desde el escritorio local)** Este es el método más directo y se utiliza para cargar documentos directamente desde tu computadora. <u>**Campos requeridos**</u> - **Name**: Un título para el documento. - **Document file**: Arrastra y suelta o selecciona un archivo (.pdf, .docx, .txt; máx. 500 KB por archivo). **Ideal para**: Cargas de documentos estáticos de una sola vez como políticas de RRHH, SOPs o documentos técnicos. **Zoho WorkDrive** Esta opción te permite importar documentos alojados en Zoho WorkDrive a través de URLs. Incluye opciones de sincronización dinámica para mantener los documentos actualizados. <u>**Campos requeridos**</u> - **Name**: El título del documento en la knowledge base. - **Link**: Un enlace directo de WorkDrive al documento. (pdf, .docx, .txt; máx. 500 KB por archivo). - **Sync frequency**: Elige con qué frecuencia el sistema debe obtener actualizaciones (ej., None, Hourly, Daily, Weekly o Custom Frequency). **Ideal para**: Documentos vivos como especificaciones de diseño, manuales de incorporación o páginas wiki internas que se actualizan regularmente. Nota: Debes ser parte de una cuenta activa de Zoho WorkDrive para usar esta opción. Si no, no podrás cargar los documentos a través de esta opción. **Zoho Learn** Usa esto para extraer documentación de tu hub de Zoho Learn. Es útil si tu organización ya utiliza Zoho Learn para documentación de capacitación o políticas. <u>**Campos requeridos**</u> - **Name**: Un nombre personalizado para referencia interna. - **Link**: Una URL directa al artículo o manual. - **Import option**: Elige si "Import an article using the article link" o "Import from a manual". Sync frequency: Elige con qué frecuencia el sistema debe obtener actualizaciones (ej., None, Hourly, Daily, Weekly o Custom Frequency). **Nota importante sobre los enlaces de documentos de Zoho Learn:** 1. Debes ser parte de un hub de Zoho Learn para usar esta opción. Si no, no podrás cargar los documentos usando este método. 2. Al compartir o cargar enlaces de documentos en Zoho Learn, no copies la URL directamente de la barra de direcciones, ya que puede incluir elementos de ruta adicionales (como /team/ o nombres de proyectos específicos) que pueden hacer que el enlace no funcione para otros. <u>Formatos de enlace correctos vs. incorrectos:</u> **OCR Article** **Funciona**: https://learn.zoho.com/portal/zohocorp/manual/image/article/ocr-wiki **No funciona**: https://learn.zoho.com/portal/zohocorp/team/crmzia-ml-dl/manual/image/article/ocr-wiki **Para cargar documentos a la Knowledge Base** 1. Inicia sesión en tu cuenta de QuickML. 2. Bajo la sección *Generative AI*, selecciona la pestaña **Knowledge Base**. 3. Haz clic en **Upload Document**. 4. Elige el método de carga de documentos deseado: - Elige **Upload a file** para cargar un documento directamente desde tu computadora local. - Elige **Zoho Workdrive** para cargar un documento almacenado en tu Zoho Workdrive. - Elige **Zoho Learn** para importar un artículo o un manual desde tu espacio de trabajo de Zoho Learn. 5. Los documentos cargados aparecerán en el repositorio de la knowledge base. ### Gestionando documentos cargados Una vez que tus documentos están cargados, QuickML proporciona una interfaz limpia de estilo tarjeta para interactuar con cada documento a través de ciertas acciones en la knowledge base. **Acciones de documentos disponibles** - **Delete**: Eliminar permanentemente el documento del repositorio de la knowledge base. - **Copy Document ID**: Útil para referenciar el documento en tus APIs o dentro de pipelines de RAG. - **Vista previa de meta descripción**: Al pasar el cursor debajo del título del documento, puedes ver las primeras líneas del contenido del documento como la meta descripción. ### Explorando las opciones de RAG API En la esquina superior derecha, notarás el botón Rag API. Esta opción es para usuarios técnicos o desarrolladores que buscan integrar el sistema RAG en sus aplicaciones usando documentos de la knowledge base. Al configurar una llamada de RAG API, se pueden establecer varios parámetros. **OAuth Scope** Esto define el nivel específico de acceso que el token de API (access token) otorgará. En este caso, el scope es: QuickML.deployment.READ. Esto otorga acceso de solo lectura al despliegue de QuickML, que incluye consultar documentos de la knowledge base usando la función de RAG (Retrieval-Augmented Generation). **Authentication** La autenticación asegura que solo usuarios autorizados puedan realizar llamadas de API. Esta RAG API utiliza OAuth, un framework de autorización seguro que permite a las aplicaciones obtener acceso limitado a cuentas de usuario. **HTTP method** El método HTTP utilizado para esta llamada de API es: POST. Este método se utiliza porque la API no solo está recuperando datos estáticos; está enviando entrada (consulta y documentos) al servidor para recibir una respuesta generada basada en razonamiento dinámico. **Endpoint URL** La Endpoint URL especifica la ubicación exacta del servicio de RAG API al cual tu aplicación enviará la solicitud POST. **Headers** Los headers son metadatos enviados junto con la solicitud. Ayudan a autenticar y enrutar la solicitud correctamente. **Request body** El request body contiene la carga real enviada a la API. En este caso, la consulta del usuario y qué documentos buscar. ### Mejores prácticas para el uso efectivo de la Knowledge Base Para maximizar el valor de la pestaña de Knowledge Base: 1. Asegúrate de que los documentos estén formateados de manera limpia con encabezados, viñetas y estructura legible. 2. Revisa y actualiza regularmente los documentos para mantener la relevancia. 3. Siempre copia y almacena el Document ID de forma segura cuando planees usarlo con APIs. ### Modelos avanzados -------------------------------------------------------------------------------- title: "Recomendación" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/recommendation/" service: "QuickML" -------------------------------------------------------------------------------- # Introducción al Sistema de Recomendación Un **sistema de recomendación** es una rama del aprendizaje automático enfocada en construir modelos de recomendación que predicen las preferencias de los usuarios y generan sugerencias de elementos personalizadas para los usuarios analizando sus interacciones pasadas, comportamiento, atributos de elementos y datos demográficos del usuario. Estos sistemas se usan ampliamente en varios dominios, como comercio electrónico, transmisión de medios y plataformas de redes sociales, donde ayudan a los usuarios a descubrir productos, películas, libros u otro contenido relevante según sus interacciones previas. A través de sugerencias de elementos personalizadas, los sistemas de recomendación mejoran la satisfacción del usuario, impulsan la participación, aumentan la retención de usuarios y las ventas para las empresas al presentar las opciones más relevantes específicamente para cada usuario. ### Aplicaciones Empresariales de Ejemplo Los modelos de recomendación se integran activamente en plataformas de comercio electrónico para resolver múltiples casos de uso, lo que impulsa el valor del negocio. #### 1. Recomendaciones Secuenciales en Plataformas de Comercio Electrónico: La Recomendación Secuencial se puede aplicar en plataformas de comercio electrónico para sugerir productos basados en el historial de navegación y compra de los usuarios. Al analizar la secuencia de productos vistos o comprados por los usuarios, las empresas pueden proporcionar recomendaciones personalizadas, aumentando así las ventas y la satisfacción del cliente. **Escenario:** En las plataformas de comercio electrónico, analizar los patrones secuenciales de las interacciones de los usuarios puede revelar información sobre las preferencias y hábitos de compra de los usuarios. Por ejemplo, si un usuario compra zapatos para correr seguidos de ropa deportiva, la plataforma puede identificar esta secuencia. Basándose en esta información, la plataforma puede recomendar productos complementarios como calcetines para correr, botellas de agua o rastreadores de fitness. Estas recomendaciones personalizadas no solo aumentan la probabilidad de compras adicionales, sino que también mejoran la experiencia de compra general del usuario. #### 2. Sugerencias de Productos Personalizadas: Las recomendaciones personalizadas en plataformas de comercio electrónico implican sugerir productos a los usuarios basándose en su historial de navegación, comportamiento de compra y preferencias. Al analizar las interacciones del usuario y los datos históricos, las plataformas de comercio electrónico pueden ofrecer recomendaciones de productos adaptadas, mejorando así la experiencia del usuario y aumentando las ventas. **Escenario:** Considere una plataforma de comercio electrónico establecida donde los usuarios navegan por una vasta variedad de productos en diferentes categorías. Al analizar el comportamiento del usuario, como compras pasadas, artículos agregados al carrito y productos vistos, la plataforma puede generar sugerencias de productos personalizadas. Por ejemplo, si un usuario compra frecuentemente electrónica y gadgets, la plataforma puede identificar esta preferencia. Basándose en esta información, la plataforma puede recomendar productos similares, accesorios o artículos relacionados que se alineen con los intereses del usuario. Estas recomendaciones adaptadas no solo mejoran la satisfacción del usuario sino que también aumentan la probabilidad de conversión y compras repetidas. #### 3. Bienes de Consumo y FMCG (Bienes de Consumo de Rápido Movimiento): En industrias como bienes de consumo y FMCG, donde los productos se compran frecuente y regularmente, optimizar las compras repetidas es esencial para las empresas. El desafío radica en recomendar efectivamente artículos básicos o productos comúnmente comprados a los clientes basándose en su historial de compras y patrones de consumo. **Escenario:** Por ejemplo, en el sector de alimentos y bebidas, un servicio de entrega de comestibles puede usar algoritmos de recomendación de compras repetidas para sugerir artículos básicos o comestibles comúnmente comprados basándose en el historial de compras de un cliente. Al analizar pedidos anteriores y patrones de consumo, la plataforma puede anticipar cuándo es probable que ciertos artículos se agoten y recomendar reposición para optimizar el proceso de pedido para los clientes. #### 4. Gestión de Inventario Retail: Al predecir la próxima ocurrencia de compras de productos, los retailers pueden optimizar sus niveles de inventario y asegurar la disponibilidad suficiente de stock. Esto les permite prevenir la falta de stock, minimizar el exceso de inventario y mejorar la eficiencia general de la cadena de suministro. **Escenario:** En las plataformas de comercio electrónico o incluso los vendedores retail, ofrecen servicios de suscripción con varios intervalos de renovación, como mensual o bimestral. Además, al analizar patrones de compra recurrentes, las empresas retail pueden gestionar mejor el inventario, minimizando la falta de stock o el exceso de inventario. Al optimizar los niveles de inventario, las empresas pueden asegurar la disponibilidad de stock, sirviendo consistentemente las necesidades de los usuarios. #### 5. Servicios de Suscripción: Las empresas basadas en suscripción, como cajas de suscripción, servicios de entrega de kits de comida o plataformas de software basadas en suscripción, dependen de mantener un flujo constante de ingresos recurrentes a través de las renovaciones de suscripción. Sin embargo, gestionar las renovaciones de suscripción para planes que requieren recordatorios manuales, especialmente cuando los patrones de intervalo de renovación son complejos, presenta un desafío. **Escenario:** Por ejemplo, en el caso de un servicio de suscripción de periódicos, algunos clientes pueden renovar sus suscripciones solo durante períodos específicos, como visitas a sus casas de vacaciones. En tales casos, los algoritmos de recomendación de compras repetidas pueden jugar un papel crucial en la identificación de fechas de renovación de suscripción y proporcionar recordatorios oportunos a los usuarios. Al analizar el historial de renovación de los suscriptores y comprender los patrones complejos de renovación, el sistema de recomendación puede mejorar las tasas de retención y asegurar un flujo consistente de ingresos para el negocio. Similar a las plataformas de comercio electrónico, los algoritmos de recomendación también se pueden aplicar en varias industrias para mejorar la experiencia del usuario, la participación y, en última instancia, impulsar el valor del negocio. Algunos ejemplos son: - **Entretenimiento y Medios:** Plataformas de transmisión de contenido como películas, música y artículos basados en el consumo pasado. - **Educación:** Generar recomendaciones de cursos y personalizar rutas de aprendizaje basadas en los intereses y el estilo de aprendizaje del estudiante. - **Redes Sociales:** Sugerencias de contenido, amigos y grupos basadas en las interacciones e intereses del usuario. - **Salud:** Recordatorios de medicación, sugerencias de planes de atención médica basados en el historial médico del paciente y datos de salud. Estos son solo algunos ejemplos; muchas otras industrias están explorando activamente formas de integrar modelos de recomendación para impulsar valor y mejorar los resultados del negocio. ## Evaluación del Modelo de Recomendación Estas métricas de evaluación proporcionan colectivamente información sobre diferentes aspectos del rendimiento de un modelo de recomendación, incluyendo la diversidad, calidad, precisión predictiva y corrección general de las sugerencias/recomendaciones de elementos que genera el modelo. Exploremos e interpretemos las métricas utilizadas para evaluar los modelos de recomendación: #### a. Coverage **Qué le dice:** Coverage mide la proporción de todos los elementos posibles que el sistema puede recomendar. **Intuición:** - Un coverage alto significa que el sistema puede recomendar una amplia variedad de elementos, haciéndolo más diverso y menos sesgado hacia elementos populares. - Un coverage bajo sugiere que las recomendaciones están limitadas a un conjunto más pequeño de elementos, lo que puede no satisfacer a todos los usuarios. **Ejemplo de Inferencia:** Si el coverage es 90%, el sistema puede recomendar el 90% de los elementos en el catálogo, asegurando opciones diversas para los usuarios. #### b. NDCG at K (Normalized Discounted Cumulative Gain at K) **Qué le dice:** NDCG mide qué tan bien están clasificadas las recomendaciones, centrándose en la posición de los elementos relevantes dentro de las K principales recomendaciones. **Intuición:** - Un NDCG alto significa que los elementos relevantes aparecen cerca de la parte superior de la lista, haciendo las recomendaciones más útiles para los usuarios. - Un NDCG bajo indica que los elementos relevantes podrían estar enterrados más profundamente en la lista, reduciendo la satisfacción del usuario. **Ejemplo de Inferencia:** Si NDCG@10 es alto, los usuarios tienen más probabilidades de ver recomendaciones relevantes dentro de sus 10 principales sugerencias, mejorando su experiencia. #### c. Accuracy **Qué le dice:** Accuracy es el porcentaje de predicciones correctas (recomendaciones relevantes vs. irrelevantes) realizadas por el sistema. **Intuición:** - Un accuracy alto significa que el sistema es generalmente bueno para distinguir recomendaciones relevantes de irrelevantes. - Sin embargo, no captura qué tan bien el sistema maneja casos extremos, como elementos raros o preferencias específicas del usuario. **Ejemplo de Inferencia:** Si el accuracy es 95%, la mayoría de las recomendaciones son probablemente correctas, pero no asegura que todos los elementos relevantes estén incluidos. #### d. ROC AUC (Receiver Operating Characteristic Area Under the Curve) **Qué le dice:** ROC AUC evalúa qué tan bien el sistema puede separar elementos relevantes de irrelevantes a través de diferentes umbrales. **Intuición:** - Un AUC alto significa que el sistema puede clasificar efectivamente los elementos relevantes más arriba que los irrelevantes, independientemente del umbral de corte. - Un AUC bajo sugiere que el sistema tiene dificultades para distinguir elementos relevantes de irrelevantes. Ejemplo de Inferencia: Si el AUC es 0.95, el sistema es muy confiable para clasificar elementos relevantes de manera consistente en todos los usuarios. #### e. Precision **Qué le dice:** Precision mide la proporción de elementos recomendados que son realmente relevantes. **Intuición:** - Un precision alto significa que la mayoría de las recomendaciones realizadas son útiles y relevantes para el usuario. - Un precision bajo indica que a los usuarios se les muestran muchos elementos irrelevantes, lo que podría reducir la confianza en el sistema. **Ejemplo de Inferencia:** Si el precision es 80%, 8 de cada 10 recomendaciones son probablemente relevantes. #### f. Recall **Qué le dice:** Recall mide la proporción de todos los elementos relevantes que se recomiendan exitosamente. **Intuición:** - Un recall alto significa que el sistema es bueno para identificar todos los elementos relevantes, incluso si ocasionalmente incluye elementos irrelevantes. - Un recall bajo sugiere que se están perdiendo muchos elementos relevantes. **Ejemplo de Inferencia:** Si el recall es 70%, el sistema está encontrando el 70% de todos los elementos relevantes para un usuario, pero algunos todavía se están dejando fuera. #### g. Recurrence Rate **Definición:** La proporción o frecuencia de eventos o patrones recurrentes dentro de un conjunto de datos. **Qué le dice intuitivamente:** - Una tasa de recurrencia más alta significa que el conjunto de datos contiene eventos o patrones repetidos frecuentes. - Una tasa de recurrencia más baja sugiere menos o raras repeticiones en los datos. **Ejemplo de Inferencia:** Si la tasa de recurrencia es 60%, significa que el 60% de los eventos en el conjunto de datos son parte de algún patrón repetitivo. Esto ayuda a identificar qué tan cíclicos o predecibles son los datos. #### h. Mean Absolute Error (MAE) **Definición:** La diferencia absoluta promedio en días entre la recurrencia predicha y la real. **Qué le dice intuitivamente:** MAE muestra cuán lejos están las predicciones, en promedio, de los intervalos de recurrencia verdaderos, ignorando si la diferencia es una sobreestimación o subestimación. Un MAE más bajo significa predicciones más precisas. **Ejemplo de Inferencia:** Si el MAE es 3 días, los intervalos de recurrencia predichos están, en promedio, a 3 días de los intervalos reales. Esto da una idea directa de cuán precisas son las predicciones. #### i. Mean Squared Error (MSE) **Definición:** La diferencia cuadrada promedio en días entre la recurrencia predicha y la real. **Qué le dice intuitivamente:** - MSE penaliza los errores más grandes más fuertemente porque eleva al cuadrado las diferencias. - Un MSE más bajo significa que el modelo es generalmente preciso y evita grandes errores en las predicciones. **Ejemplo de Inferencia:** Si el MSE es 16 días², indica que mientras la mayoría de las predicciones pueden estar cerca, cualquier error más grande en las predicciones del intervalo de recurrencia impacta significativamente la puntuación. Esto lo hace útil para identificar modelos propensos a errores grandes. ### Métricas de evaluación para algoritmos específicos Los modelos de recomendación varían en tipo, como se mencionó anteriormente. Por lo tanto, no hay un enfoque genérico único para evaluar los modelos. En cambio, se pueden evaluar usando diferentes métricas específicas para cada algoritmo. Las métricas de evaluación para algoritmos de recuperación de información son las siguientes: #### a. Recuperación de Información <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Tipo de recomendación</th> <th class="w15p">Algoritmos</th> <th class="w30p">Métricas de Evaluación</th> </tr> </thead> <tbody> <tr> <td>Sequential Recommendation</td> <td>SubSeq</td> <td> <ul style="text-align: left;"><li><strong>Coverage</strong>: Coverage mide la proporción de todos los elementos posibles que el sistema puede recomendar.<li><strong> NDCG at K (Normalized Discounted Cumulative Gain at K)</strong>: NDCG mide qué tan bien están clasificadas las recomendaciones, centrándose en la posición de los elementos relevantes dentro de las K principales recomendaciones.<li><strong>Accuracy</strong>: Accuracy es el porcentaje de predicciones correctas (recomendaciones relevantes vs. irrelevantes) realizadas por el sistema.</td> </tr> <tr> <td>Personalized Recommendation</td> <td>Light FM</td> <td> <ul style="text-align: left;"><li><strong>ROC AUC (Receiver Operating Characteristic Area Under the Curve): </strong>: ROC AUC evalúa qué tan bien el sistema puede separar elementos relevantes de irrelevantes a través de diferentes umbrales.<li><strong> Precision: </strong>: Precision mide la proporción de elementos recomendados que son realmente relevantes.<li><strong>Recall</strong>: Recall mide la proporción de todos los elementos relevantes que se recomiendan exitosamente.</td> </tr> <tr> <td></td> <td>Pixie</td> <td> <ul style="text-align: left;"><li><strong>Precision</strong>: Precision mide la proporción de elementos recomendados que son realmente relevantes.<li><strong> Recall</strong>: Recall mide la proporción de todos los elementos relevantes que se recomiendan exitosamente.<li><strong>Coverage</strong>: Coverage mide la proporción de todos los elementos posibles que el sistema puede recomendar.</td> </tr> <tr> <td>Recurring Purchase Recommendations</td> <td>Recurrence Finder</td> <td> <ul style="text-align: left;"><li><strong>Recurrence Rate</strong>: La proporción o frecuencia de eventos o patrones recurrentes dentro de un conjunto de datos.<li><strong> Mean Absolute Error (MAE)</strong>: La diferencia absoluta promedio en días entre la recurrencia predicha y la real.<li><strong> Mean Squared Error (MSE)</strong>: La diferencia cuadrada promedio en días entre la recurrencia predicha y la real.</td> </tr> </tbody> </table> Cada una de estas métricas de evaluación sirve un propósito específico en la evaluación del rendimiento de un modelo respectivo, proporcionando información sobre su rendimiento y confiabilidad. <!-- #### Create Sample Pipeline 1. Sample Recommendation pipeline creation example 2. Prediction type - New users/Existing user --> -------------------------------------------------------------------------------- title: "Series Temporales" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/time-series/" service: "QuickML" -------------------------------------------------------------------------------- # Introducción a los Datos de Series Temporales Las series temporales se refieren a una secuencia de puntos de datos que representan cómo una o más características cambian a lo largo del tiempo. Estos puntos de datos se registran a intervalos regulares, permitiendo el análisis de tendencias, cambios de estacionalidad, patrones y anomalías a lo largo del tiempo. Los datos de series temporales se pueden categorizar en dos tipos: **univariados**, donde solo se registra una característica, y **multivariados**, donde se rastrean múltiples características en el tiempo simultáneamente. El objetivo principal del análisis de series temporales es a menudo predecir valores futuros de una característica, que sirve como la variable objetivo en tareas como pronóstico o detección de anomalías. ### Componentes de las Series Temporales Los componentes de las series temporales caracterizan los patrones o comportamientos subyacentes de la serie de datos a lo largo del tiempo. Estos son simplemente los factores que afectan los valores de los puntos de datos observados. Comprender estos componentes ayudará a crear modelos mejores y más precisos. Los cuatro componentes de los datos de series temporales son: - Tendencia - Estacionalidad - Cíclico - Ruido #### 1. Tendencia El componente de tendencia representa la dirección o movimiento a largo plazo en la serie temporal. Indica si los datos generalmente están aumentando, disminuyendo o permaneciendo constantes a lo largo del tiempo. **Características** - Refleja la tendencia subyacente de la serie durante un período más largo. - Las tendencias pueden ser lineales o no lineales. - Las tendencias no se ven afectadas por fluctuaciones o irregularidades a corto plazo. **Ejemplo** <br /> En los datos de ventas de una empresa, un aumento constante en las ventas durante varios años indica una tendencia positiva. #### 2. Estacionalidad El componente estacional representa patrones regulares y repetitivos en la serie temporal que ocurren dentro de un período fijo, como diario, mensual o anual. **Características** - La estacionalidad ocurre a intervalos regulares y tiene un período fijo. - A menudo impulsada por factores externos como el clima, las vacaciones o eventos culturales. - Los efectos estacionales son predecibles y se repiten al mismo tiempo cada año, mes, semana o día. **Ejemplo** <br /> El ejemplo aquí muestra los pasajeros mensuales con respecto a cada mes desde 1949 hasta 1960, donde podemos ver la distribución estacional de los pasajeros en el gráfico. #### 3. Cíclico El componente cíclico se refiere a las fluctuaciones en la serie temporal que ocurren durante períodos más largos, generalmente influenciadas por ciclos económicos o empresariales. **Características** - Los ciclos son generalmente irregulares en período y amplitud. - Pueden durar más de un año, a menudo varios años. - A diferencia de la estacionalidad, los patrones cíclicos son menos predecibles en su frecuencia y duración pero están influenciados por factores económicos más amplios. **Ejemplo** <br /> Las ventas de casas familiares nuevas fluctúan durante ciertos períodos, pero estos cambios no son estacionales, como se ve en el gráfico. Estas fluctuaciones podrían estar influenciadas por períodos de expansión y recesión económica, que son menos predecibles que los patrones estacionales. #### 4. Ruido El componente de ruido captura la variación aleatoria en la serie temporal que no puede atribuirse a patrones de tendencia, cíclicos o estacionales. Representa las fluctuaciones impredecibles e irregulares en los datos. **Características** - El ruido es la parte residual de la serie temporal después de eliminar los componentes de tendencia, cíclicos y estacionales. - Aleatorio e impredecible. - El ruido no sigue ningún patrón específico y puede ser causado por factores aleatorios o errores de medición. **Ejemplo** <br /> Como podemos concluir del gráfico, no hay una tendencia específica, estacionalidad o patrón cíclico en los cambios del precio de las acciones de la empresa. Las fluctuaciones de precio aparecen como subidas y bajadas aleatorias sin un patrón predecible. ### Estacionariedad La estacionariedad se refiere a una característica de los datos de series temporales donde las propiedades estadísticas, como la media, la varianza y la autocorrelación, permanecen constantes a lo largo del tiempo. - La media es el valor promedio de las observaciones durante un cierto período de tiempo; - La varianza es la medida de la dispersión o extensión del valor alrededor de la media, - La autocorrelación es la correlación de la serie con sus valores anteriores. Las tres propiedades estadísticas de los datos de series temporales deben permanecer constantes a lo largo del tiempo para concluir que la serie es estacionaria. Entender si la serie es estacionaria o no es importante, ya que informa el tipo de preprocesamiento necesario para construir un modelo de series temporales efectivo. Cuando una serie es estacionaria, los valores registrados no cambian o permanecen dentro del mismo rango a lo largo del tiempo. Veamos ejemplos de casos de uso donde la serie registrada se considera como serie estacionaria o no estacionaria. #### a. Serie no estacionaria Un dato de serie temporal se considera no estacionario si los valores registrados fueron afectados en diferentes momentos debido a la presencia de tendencia, estacionalidad, cíclico o ruido en los datos. **Ejemplo:**\ Los pasajeros de una aerolínea estarán en tendencia creciente con fluctuaciones estacionales cada año, como se muestra en el gráfico. Por lo tanto, esta serie se considera como serie no estacionaria. **El resultado de la prueba ADF para evaluar la presencia de estacionariedad** ``` ADF Statistic: 0.81 p-value: 0.99 Critical Values: {'1%': -3.48, '5%':-2.88, '10%': -2.57} Fail to reject the null hypothesis: The series is not stationary. ``` <br /> #### b. Serie estacionaria Cuando una serie es estacionaria, los valores registrados no cambian o permanecen dentro del mismo rango a lo largo del tiempo. **Ejemplo:**\ Después de aplicar la técnica de transformación diferencial de lag 2, la serie no estacionaria se convierte en serie estacionaria. Si graficamos los valores transformados en un gráfico, aparecerá como se muestra a continuación: <br /> **Resultados de la prueba ADF para evaluar la presencia de estacionariedad después de la transformación de datos** ``` ADF Statistic: -2.96 p-value: 0.03 Critical Values: { '1%': -3.48, '5%': -2.88, '10%':-2.57 } Reject the null hypothesis: The series is stationary. ``` Los modelos de series temporales se construyen típicamente usando datos estacionarios. Si una serie es no estacionaria, debe transformarse en una serie estacionaria antes de entrenar el modelo para asegurar predicciones futuras precisas. Se realizan dos pruebas estadísticas, conocidas como las pruebas ADF y KPSS, en los datos de series temporales para determinar si la estacionariedad está presente en la serie. #### Pruebas de Estacionariedad **Estacionariedad** en una serie temporal significa que las propiedades estadísticas de la serie no cambian a lo largo del tiempo. En otras palabras, si observa diferentes partes de la serie, deberían verse estadísticamente similares. Para que una serie sea estacionaria, debe tener **una media constante, varianza constante y autocorrelación constante.** Hay dos tipos de métodos estadísticos que se pueden realizar en los datos de series temporales para verificar la presencia de estacionariedad. Son la prueba **ADF** y la prueba **KPSS**. Sin embargo, antes de ir a las pruebas de estacionariedad, entendamos un concepto en las pruebas estadísticas llamado hipótesis. **Hipótesis:** La prueba de hipótesis es un método estadístico utilizado para hacer inferencias o sacar conclusiones sobre un conjunto de datos usando datos de muestra extraídos de todos los datos disponibles. Nos ayuda a decidir si hay suficiente evidencia en nuestra muestra para apoyar o rechazar una afirmación o hipótesis particular sobre todo el conjunto de datos. - **Hipótesis Nula (H₀)**: Esta es la suposición de que no hay efectos o diferencias. Representa el statu quo. - **Hipótesis Alternativa (H₁)**: Esta es lo opuesto a la hipótesis nula, y representa una nueva afirmación o efecto. Esto es lo que necesitaría probar. Ahora que entendemos qué significan las hipótesis, veamos las pruebas de estacionariedad: 1. #### Prueba ADF La prueba Augmented Dickey-Fuller (ADF) es una prueba estadística utilizada para determinar si una serie temporal tiene raíz unitaria o no. La presencia de raíz unitaria indica que los valores son altamente dependientes de valores anteriores, lo que indica que la serie es no estacionaria. **Objetivo:** La prueba ADF se usa para verificar si la serie contiene raíz unitaria. **Hipótesis nula**: La serie temporal tiene raíz unitaria, por lo tanto es no estacionaria. **Interpretación**: Si el estadístico de la prueba ADF es menor que el valor crítico, entonces la hipótesis nula se rechaza concluyendo que la serie temporal es Estacionaria. **Proceso de prueba**: La prueba ADF funciona probando la hipótesis nula para verificar la presencia de una raíz unitaria en la serie temporal indica que la serie es no estacionaria. 2. #### Prueba KPSS La prueba Kwiatkowski-Phillips-Schmidt-Shin (KPSS) es otra prueba estadística utilizada para verificar la estacionariedad de una serie temporal. Difiere de la prueba ADF en que prueba la hipótesis nula de que la serie temporal es estacionaria alrededor de una media o una tendencia determinística. **Objetivo**: La prueba KPSS se usa para verificar si la serie es estacionaria. **Hipótesis nula**: La serie temporal es estacionaria alrededor de una media constante o tendencia determinística. **Interpretación**: Si el estadístico de la prueba KPSS es mayor que el valor crítico, la hipótesis nula se rechaza, indicando que la serie es no estacionaria. **Proceso de prueba**: La prueba KPSS examina si la serie temporal es estacionaria probando una tendencia determinística o media alrededor de la cual fluctúa. #### Cómo inferir los resultados de las pruebas Las pruebas ADF y KPSS generan algunos valores estadísticos que nos ayudan a clasificar si la serie es estacionaria o no. Estos valores son: - Estadístico de prueba - P-Value - Valores Críticos al 1%, 5% y 10% de Intervalos de Confianza #### Estadístico de Prueba El estadístico de prueba es el valor calculado en las pruebas para determinar cuán probable sería el valor si la hipótesis nula fuera verdadera. Calcule el estadístico de prueba basándose en sus datos de muestra. - Para una prueba z: el estadístico de prueba es z = (X̄ - μ) / ( σ/ √n) (Valor estadístico para datos completos) - Para una prueba t: el estadístico de prueba es t = (X̄ - μ) / (s / √n) (Valor estadístico para datos de muestra) Aquí, X̄ es la media de la muestra, μ es la media de la población, s es la desviación estándar de la Muestra o σ es la desviación estándar para todos los datos, n es el tamaño de la muestra. En QuickML, los estadísticos de las pruebas ADF y KPSS se calculan a partir de sus respectivas pruebas sobre todos los datos de entrada. Ambos valores del estadístico de prueba proporcionan una medida de la evidencia contra la hipótesis nula. La fortaleza de la evidencia se evalúa en tres niveles—fuerte, moderada y débil—comparando el valor del estadístico de prueba con los valores críticos en los niveles de significancia del 1%, 5% y 10%. #### P-Value **¿Qué es el p-Value?** El p-value en ambas pruebas indica la probabilidad de obtener un valor del estadístico de prueba tan extremo como el observado, asumiendo que la hipótesis nula es verdadera. El p-value se puede obtener de las tablas estadísticas para determinar si la hipótesis nula debe ser rechazada. **¿Cómo se deriva?** 1. Formulando y estimando el modelo de regresión ADF / KPSS 2. Calculando el estadístico de prueba t𝛄 como se mencionó anteriormente. 3. Comparando t𝛄 contra los valores críticos derivados de la simulación. 4. Interpolando para obtener un p-value aproximado basado en cómo el estadístico de prueba se compara con los valores críticos bajo la hipótesis nula. #### En la prueba ADF **Hipótesis nula:** La serie temporal tiene raíz unitaria, lo que significa que es no estacionaria. **Interpretación:** Asumiendo que el intervalo de significancia se establece en 5%. 1. **P-value bajo** ( ≤ 0.05): Un p-value bajo indica que puede rechazar la hipótesis nula de raíz unitaria, sugiriendo que la serie es estacionaria. 2. **P-value alto** ( > 0.05): Un p-value alto indica que no pudo rechazar la hipótesis nula de raíz unitaria, sugiriendo que la serie es no estacionaria. #### En la prueba KPSS **Hipótesis nula:** La serie temporal es estacionaria alrededor de una media constante o tendencia determinística. **Interpretación:** Asumiendo que el intervalo de confianza es 5%. 1. **P-value bajo** ( ≤ 0.05): Un p-value bajo sugiere que rechaza la hipótesis nula indicando que la serie es no estacionaria. 2. **P-value alto** ( > 0.05): Un p-value alto sugiere que no puede rechazar la hipótesis nula de estacionariedad. #### Valores Críticos (en niveles del 1%, 5% y 10%): Los valores críticos son umbrales o referencias predefinidas utilizados en pruebas de estacionariedad como las pruebas Augmented Dickey-Fuller (ADF) y Kwiatkowski-Phillips-Schmidt-Shin (KPSS) para determinar si rechazar o no rechazar la hipótesis nula. Estos valores ayudan a evaluar la significancia estadística de los resultados de las pruebas. Estos valores sirven como referencias para la toma de decisiones en ambas pruebas ADF y KPSS. Por ejemplo, al intervalo de significancia del 5%: - **Al valor crítico del 1%**: Es un criterio muy estricto. Si el valor del estadístico de prueba es más extremo que el valor crítico del 1%, entonces hay evidencia fuerte para rechazar la hipótesis nula. - **Al valor crítico del 5%**: Si el estadístico de prueba es más extremo que el valor crítico del 5%, entonces hay evidencia moderada para rechazar la hipótesis nula. - **Al valor crítico del 10%**: Es un criterio más indulgente. Si el estadístico de prueba es más extremo que el valor crítico del 10%, entonces hay evidencia más débil para rechazar la hipótesis nula. **Ejemplo:** <table class="content-table quickml-content-table"> <tr> <th>Prueba ADF</th> <th>Prueba KPSS</th> </tr> <tr> <td> <ul> <li><b>Hipótesis Nula:</b> La serie tiene raíz unitaria por lo tanto es no estacionaria.</li> <li><b>Ejemplo 1:</b></li> <ul> <li>Estadístico ADF = -3.5</li> <li>Valores críticos: <ul> <li>VC al 1%: -3.9</li> <li>VC al 5%: -3.3</li> <li>VC al 10%: -3.0</li> </ul> </li> <li>Dado que -3.5 es más extremo que -3.3 (el valor crítico al 5%), se rechaza la hipótesis nula al nivel del 5% con solo evidencia moderada.</li> <li>Y, si el p-value es 0.04, esto confirma que puede rechazar la hipótesis nula al intervalo de confianza del 5%, ya que 0.04 < 0.05.</li> <li>La prueba concluye que la serie es estacionaria.</li> </ul> </ul> </td> <td> <ul> <li><b>Hipótesis Nula:</b> La serie es estacionaria.</li> <li><b>Ejemplo 1:</b></li> <ul> <li>Estadístico KPSS = 0.6</li> <li>Valores críticos: <ul> <li>VC al 1%: 0.73</li> <li>VC al 5%: 0.46</li> <li>VC al 10%: 0.34</li> </ul> </li> <li>Dado que 0.6 es mayor que el valor crítico al 5% (0.46), se rechaza la hipótesis nula de estacionariedad al nivel del 5% con solo evidencia moderada.</li> <li>Si el p-value es 0.02, significa que puede rechazar la nula al nivel del 5%, ya que 0.02 < 0.05.</li> <li>La prueba concluye que la serie es no estacionaria.</li> </ul> </ul> </td> </tr> <tr> <td> <ul> <li><b>Ejemplo 2:</b></li> <ul> <li>Estadístico ADF: 3.14</li> <li>p-value: 1.0</li> <li>Valores críticos: <ul> <li>VC al 1%: -3.46</li> <li>VC al 5%: -2.87</li> <li>VC al 10%: -2.57</li> </ul> </li> <li>El p-value es mayor que el nivel de significancia 0.05 y el estadístico ADF es mucho mayor que todos los valores críticos, por lo tanto no hay suficiente evidencia para rechazar la hipótesis nula.</li> <li>Esto concluye que la serie es no estacionaria.</li> </ul> </ul> </td> <td> <ul> <li><b>Ejemplo 2:</b></li> <ul> <li>Estadístico KPSS: 1.65</li> <li>p-value: 0.01</li> <li>Valores críticos: <ul> <li>VC al 1%: 0.73</li> <li>VC al 5%: 0.46</li> <li>VC al 10%: 0.34</li> </ul> </li> <li>Rechazar la hipótesis nula: La serie no es estacionaria.</li> <li>El estadístico de prueba (1.65) es mayor que el valor crítico (0.46) al nivel del 5%, y el p-value (0.01) es menor que 0.05, rechazamos la hipótesis nula.</li> <li>Esto significa que tenemos evidencia fuerte para concluir que la serie es no estacionaria.</li> </ul> </ul> </td> </tr> </table> #### Resultados posibles de las pruebas Los siguientes son los resultados posibles de aplicar ambas pruebas. **Resultado 1**: Ambas pruebas concluyen que la serie dada es estacionaria - La serie es estacionaria. **Resultado 2**: Ambas pruebas concluyen que la serie dada es no estacionaria - La serie es no estacionaria. **Resultado 3**: ADF concluye no estacionaria, y KPSS concluye estacionaria - La serie es estacionaria en tendencia. Para hacer la serie estrictamente estacionaria, la tendencia necesita ser eliminada en este caso. Luego, la serie sin tendencia se verifica por estacionariedad. **Resultado 4**: ADF concluye estacionaria, y KPSS concluye no estacionaria - La serie es estacionaria en diferencia. Se debe usar la diferenciación para hacer la serie estacionaria. La serie diferenciada se verifica luego por estacionariedad. #### Cómo abordar la estacionariedad presente en las columnas En QuickML, usaremos tanto la prueba Augmented Dickey-Fuller (ADF) como la prueba Kwiatkowski-Phillips-Schmidt-Shin (KPSS) como se explicó anteriormente para verificar la estacionariedad de cada característica en el conjunto de datos de series temporales. La plataforma QuickML ofrece un conjunto de técnicas de transformación de datos que ayudan a transformar columnas no estacionarias en el conjunto de datos. Al transformar estas columnas en estacionarias, QuickML asegura que los modelos generados usando los datos transformados estén bien adaptados para capturar los patrones y tendencias subyacentes. Dos técnicas de transformación de datos que se usan principalmente para abordar la estacionariedad presente en las columnas son: #### Diferenciación La diferenciación se realiza calculando las diferencias entre observaciones consecutivas. Puede ayudar a estabilizar la media de una serie temporal eliminando cambios en el nivel de la serie temporal y por lo tanto eliminando (o reduciendo) la tendencia y la estacionalidad. El orden de diferenciación indica el número de veces que la diferenciación necesita ser realizada en la serie no estacionaria para transformarla en serie estacionaria. El orden máximo de diferenciación a proporcionar en QuickML es 5. Si incluso después del quinto orden de diferenciación la serie es no estacionaria, cualquiera de los métodos en transformaciones de potencia se puede aplicar para estabilizar la varianza en la serie temporal. #### Transformación de potencia Una transformación de potencia hará que la distribución de probabilidad de una variable sea más gaussiana. Esto se describe a menudo como la eliminación del sesgo en la distribución, aunque más generalmente se describe como la estabilización de la varianza de la distribución. Aparte de la transformación logarítmica, podemos usar una versión generalizada de la transformación que encuentra un parámetro (lambda) que mejor transforma una variable a una distribución de probabilidad gaussiana. En QuickML, hay dos tipos de transformaciones de potencia disponibles - **Transformación Box Cox**\ La transformación Box-Cox busca encontrar la mejor transformación de potencia de los datos que reduce el sesgo y estabiliza la varianza. Es efectiva cuando los datos exhiben heterocedasticidad (varianza desigual a través de los niveles de predictores) y/o sesgo. - **Transformación Yeo Johnson**\ La transformación Yeo-Johnson es una modificación de la transformación Box-Cox que puede manejar tanto valores positivos como negativos de la variable objetivo. Al igual que Box-Cox, Yeo-Johnson transforma los datos para estabilizar la varianza y normalizar las distribuciones. Es más flexible, ya que puede manejar valores negativos. Yeo-Johnson se prefiere a menudo cuando los datos incluyen ceros o valores negativos, que el Box-Cox original no puede manejar. Un parámetro en la transformación Yeo-Johnson, a menudo referido como lambda, se usa para controlar la naturaleza de la transformación. Se seleccionan diferentes técnicas de transformación basándose en el valor de lambda. - lambda = -1. es una transformación recíproca. - lambda = -0.5 es una transformación de raíz cuadrada recíproca. - lambda = 0.0 es una transformación logarítmica. - lambda = 0.5 es una transformación de raíz cuadrada. - lambda = 1.0 es sin transformación. ### Métricas de evaluación del modelo **Métricas para Pronóstico** Al evaluar pronósticos en el análisis de series temporales, se usan comúnmente varias métricas para evaluar la precisión y el rendimiento del modelo. Cada métrica proporciona diferentes perspectivas sobre qué tan bien los valores pronosticados se alinean con los valores reales observados. **1. Error Porcentual Absoluto Medio (MAPE)** MAPE expresa la diferencia porcentual absoluta promedio entre los valores predichos y reales en relación con los valores reales. Proporciona información sobre la precisión relativa de los pronósticos y es particularmente útil cuando se compara la precisión de modelos a través de diferentes conjuntos de datos o escalas. **Interpretación:** Por ejemplo, un valor de MAPE del 8% indica que el modelo es relativamente preciso ya que sus predicciones se desvían, en promedio, un 8% de los valores reales. Generalmente, valores de MAPE por debajo del 10% indican que el modelo es altamente preciso, entre 10-20% es bueno, y valores por encima del 20% pueden indicar la necesidad de mejorar el rendimiento del modelo. **2. Error Porcentual Absoluto Medio Simétrico (SMAPE)** SMAPE aborda el problema de la asimetría en MAPE al usar el promedio de los valores absolutos de los valores reales y predichos en el denominador. Se prefiere a menudo cuando se tratan valores pequeños o cero en el conjunto de datos, ya que evita la división por cero y proporciona una medida más equilibrada de la precisión. **Interpretación:** SMAPE ofrece una perspectiva equilibrada sobre el error, particularmente útil cuando los valores reales son pequeños o cero. Al usar el promedio de los valores reales y predichos en el denominador, SMAPE mitiga el impacto de la asimetría. Un valor de SMAPE más bajo indica una diferencia porcentual menor entre los valores reales y predichos, señalando una mejor precisión del modelo. Proporciona una medida simétrica que evita los problemas de errores porcentuales extremos presentes en otras métricas como MAPE. **3. Error Cuadrático Medio (MSE)** MSE mide el promedio de los cuadrados de los errores, dando más peso a los errores grandes. Proporciona una visión más detallada de la dispersión de los errores pero puede estar fuertemente influenciado por los outliers debido a la operación de elevación al cuadrado. MSE es útil para penalizar los errores más grandes de manera más significativa. **Interpretación:** MSE destaca la varianza de los errores, con los errores más grandes recibiendo más peso debido a la función de elevación al cuadrado. Esta métrica es particularmente sensible a los outliers, haciéndola ideal para casos donde queremos penalizar las desviaciones grandes del valor real. Un MSE más bajo indica un modelo con menos y menores errores en promedio, aunque puede verse afectado desproporcionadamente por los outliers. Es útil para entender la dispersión del error pero puede no ser tan interpretable en unidades del mundo real. **4. Raíz del Error Cuadrático Medio (RMSE)** RMSE es la raíz cuadrada del MSE y es más interpretable en las mismas unidades que los datos originales. Al igual que MSE, RMSE da una medida de la magnitud promedio del error, con valores más altos indicando errores promedio más grandes. Se usa ampliamente y proporciona un buen equilibrio entre la sensibilidad al tamaño del error y la interpretabilidad. **Interpretación:** RMSE proporciona una magnitud de error promedio, reteniendo las mismas unidades que los datos originales, lo que la hace más interpretable que MSE. RMSE es sensible a errores grandes y se usa comúnmente para entender los errores de predicción típicos. Un valor de RMSE más bajo indica un modelo con menor error y mejor precisión predictiva. Es útil para modelos donde interpretar los errores en términos de las unidades de datos originales es útil, dando una idea clara del "tamaño" de los errores. **5. Error Logarítmico Cuadrático Medio (MSLE)** MSLE calcula la media de las diferencias al cuadrado entre el logaritmo natural de los valores predichos más uno y el logaritmo natural de los valores reales más uno. Penaliza las subestimaciones más fuertemente que las sobreestimaciones. **Interpretación:** MSLE se enfoca en la razón de los valores predichos a los reales, amortiguando el impacto de los valores grandes al aplicar una transformación logarítmica. Esta métrica penaliza las sub-predicciones más que las sobre-predicciones, haciéndola adecuada para modelos donde las subestimaciones son más perjudiciales que las sobreestimaciones. Un valor de MSLE más bajo implica que los valores predichos se alinean estrechamente con los valores reales en una escala logarítmica, reduciendo la penalización por alta varianza en valores grandes y enfatizando el rendimiento en una escala multiplicativa. **6. Raíz del Error Logarítmico Cuadrático Medio (RMSLE)** RMSLE es simplemente la raíz cuadrada de MSLE. Proporciona una medida más interpretable en las mismas unidades que la variable objetivo. Al igual que MSLE, RMSLE penaliza las subestimaciones más fuertemente que las sobreestimaciones debido a las diferencias al cuadrado. **Interpretación:** RMSLE es la raíz cuadrada de MSLE, preservando la interpretabilidad en términos de las unidades originales, aunque en una escala logarítmica. Al igual que MSLE, RMSLE penaliza las sub-predicciones más fuertemente, proporcionando una medida que prioriza los errores en el rango inferior. Un valor de RMSLE más bajo sugiere una alineación más cercana entre los valores predichos y reales en una escala logarítmica, ideal cuando las grandes discrepancias positivas son tolerables pero las subestimaciones necesitan ser minimizadas. -------------------------------------------------------------------------------- title: "Análisis de Texto" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.903Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/text-analytics/" service: "QuickML" -------------------------------------------------------------------------------- # Introducción a NLP en Text Analytics El Procesamiento de Lenguaje Natural (NLP) es un subcampo de la inteligencia artificial (IA) que otorga a las máquinas la capacidad de comprender, interpretar y generar lenguaje humano de una manera significativa y útil. Con las enormes cantidades de datos textuales que se generan cada día, NLP combina lingüística computacional, aprendizaje automático y aprendizaje profundo para permitir que las máquinas procesen datos de lenguaje natural y extraigan información valiosa de ellos, generando a su vez valor para las empresas. El procesamiento de lenguaje natural mejora la experiencia del usuario al abordar proactivamente las preocupaciones y desafíos basados en datos que enfrentan los usuarios empresariales, agregando así un valor significativo al negocio. #### ¿Por qué es popular? La popularidad de NLP está impulsada por su capacidad para dar sentido al complejo lenguaje humano y aplicarlo a problemas del mundo real, haciendo las interacciones con la tecnología más naturales e intuitivas. Las razones clave de su creciente popularidad incluyen: - **Extracción de Información de los Datos**: Las empresas recopilan grandes cantidades de datos textuales de diversas fuentes como redes sociales, artículos, reseñas de productos, retroalimentación, documentación legal, etc. Necesitan entender lo que los clientes o usuarios están diciendo sobre sus productos o servicios. NLP proporciona formas eficientes de procesar, analizar y extraer información valiosa de estos datos grandes y no estructurados. - **Aplicaciones Centradas en el Usuario**: Con el advenimiento de NLP, las empresas dependen de asistentes virtuales, chatbots y sistemas automatizados de servicio al cliente para abordar las consultas de los usuarios de manera más rápida y eficiente. - **Capacidades de Traducción**: NLP permite la traducción automática, facilitando la comunicación entre idiomas y ayudando a eliminar las barreras lingüísticas en la sociedad. - **Capacidades de Resumen**: Los documentos extensos se pueden convertir en resúmenes cortos para una lectura rápida, ahorrando tiempo y esfuerzo. Estas son solo algunas aplicaciones, con más innovaciones surgiendo cada día. ### Aplicaciones empresariales NLP permite varias aplicaciones en entornos empresariales al utilizar tareas de NLP para ayudar a las empresas a automatizar procesos y extraer información accionable de grandes conjuntos de datos. Veamos algunas tareas de NLP y sus aplicaciones empresariales en tiempo real. #### Tareas de NLP Las tareas se refieren a objetivos o problemas específicos que un modelo de NLP está diseñado para realizar o resolver. Cada tarea se enfoca en abordar un aspecto particular del procesamiento o análisis del lenguaje natural. **Ejemplos de Tareas de NLP**\ Las tareas que se pueden realizar usando el constructor de Text Analytics de QuickML incluyen: - **Detección de spam**: La clasificación de spam es el modelo de clasificación binaria, donde el propósito es clasificar los correos electrónicos recibidos como spam o no. El modelo de detección de spam toma el correo electrónico, asunto, detalles del remitente, etc. como entrada al modelo y genera la probabilidad de que el correo sea spam. Basándose en el umbral, clasificará el correo como spam o no spam. Tareas de clasificación de texto: Varias otras tareas que caen bajo la clasificación de texto similares a la clasificación de spam para correos electrónicos son la detección de intención, la clasificación de compromisos, y la detección de emociones e identificación de tonalidad caen bajo las tareas de clasificación de texto. - **Detección de idioma**: La detección de idioma es un paso fundamental aplicado en varias aplicaciones de NLP como traducción de idiomas, corrección gramatical y texto a voz. Detectar el idioma utilizado para buscar contenido web y devolver los resultados en el mismo idioma o usado en chatbots/herramientas de traducción para proporcionar respuestas en el mismo idioma. - **Análisis de Sentimiento**: Determina el tono de sentimiento (positivo, negativo o neutral) de un fragmento de texto. En general, la entrada a un modelo de clasificación de sentimiento sería un fragmento de texto, y la salida es el sentimiento que se expresa en el texto. En un escenario del mundo real, la clasificación de sentimiento sería útil para que las empresas descubran lo que sienten sus clientes sobre sus productos usando las reseñas de productos y comprendan las áreas de impacto negativo. Las tareas que se pueden realizar usando las características de Zia en QuickML son: Zia Features Las siguientes tareas se pueden realizar usando los servicios de Catalyst Zia: - **Reconocimiento de Entidades Nombradas (NER)**: Detecta nombres propios, como nombres de personas, lugares y organizaciones. - **Extracción de palabras clave**: Una técnica en NLP para identificar y extraer las palabras clave más relevantes de datos de texto, ayudando a capturar los temas principales y, a su vez, asistiendo en resumir información, indexar y categorizar documentos. #### Aplicaciones de NLP Las aplicaciones se refieren a los casos de uso prácticos del mundo real de los modelos de NLP. Una aplicación a menudo se construye usando una o más tareas de NLP para resolver problemas más amplios del usuario final o proporcionar servicios. **Ejemplos de Aplicaciones de NLP**: - **Herramientas de Análisis de Sentimiento**: Usa tareas de extracción de sentimiento, tonalidad e identificación de emociones para medir la opinión pública. Es crucial para las empresas y marcas que valoran mucho la comprensión de las experiencias de los clientes. Se puede implementar para los siguientes propósitos: - Medir y monitorear los sentimientos expresados por los clientes en plataformas de redes sociales y encuestas de opinión - Automatizar el análisis de retroalimentación y reseñas de clientes y reducir la carga de trabajo manual involucrada. - Identificar y abordar situaciones críticas en tiempo real mediante el monitoreo automatizado de sentimientos negativos - **Filtros de Spam de Correo Electrónico**: Los filtros de spam aprovechan tareas como la clasificación de spam para identificar y filtrar correos electrónicos no solicitados o no deseados, moviéndolos automáticamente a la carpeta de spam. Esto mejora la experiencia del usuario al reducir el desorden en la bandeja de entrada, ahorrar tiempo y minimizar el riesgo de exposición a intentos de phishing, esquemas fraudulentos y otras estafas dañinas. - **Análisis de retroalimentación del cliente**: Al aprovechar múltiples tareas de NLP como el análisis de sentimiento y la extracción de palabras clave, las empresas pueden obtener información sobre lo que los clientes dicen sobre sus productos en reseñas o en las redes sociales. Esto les permite abordar las preocupaciones o quejas de los clientes de manera efectiva, mejorando en última instancia la satisfacción del cliente y la experiencia general. - **Mejorar la eficiencia del soporte al cliente**: Tareas como la detección de emociones permiten a las empresas analizar las interacciones de los clientes con su personal de soporte al cliente a través de chats, llamadas, quejas, retroalimentación o reseñas, publicaciones en redes sociales y más. Esto ayuda a identificar las emociones por las que pasa el cliente, como felicidad, frustración o enojo al usar sus productos o servicios. Esto ayuda a las empresas a comprender mejor el sentimiento de sus clientes, permitiéndoles responder con empatía, adaptar sus servicios y mejorar las relaciones con los clientes. Detectar lo que siente el cliente da una ventana para implementar medidas proactivas para abordar sus preocupaciones, resolver sus problemas y así mejorar la lealtad a la marca. - **Soporte al cliente a escala**: Las empresas aprovechan las tareas de clasificación de intención y actividad para interpretar las consultas de los usuarios con precisión y proporcionar respuestas en consecuencia. Al automatizar la resolución de consultas comunes o básicas, las organizaciones pueden reducir significativamente los tiempos de respuesta y liberar recursos para problemas más complejos. Esta automatización permite que el soporte al cliente escale eficientemente, extendiendo el alcance de sus servicios de soporte y asegurando una prestación de servicio consistente. Además, se emplean asistentes virtuales para modelar y entregar respuestas, mejorando aún más la velocidad y calidad del soporte mientras se mantiene una experiencia de usuario personalizada. Una aplicación es esencialmente una implementación práctica donde múltiples tareas se unen para crear valor para los usuarios. Mientras que las tareas se enfocan en operaciones de lenguaje específicas, las aplicaciones se enfocan en resolver problemas más amplios centrados en el usuario al combinar varias tareas. Estos son solo algunos ejemplos de cómo las tareas de NLP se están aplicando en negocios del mundo real. Con los avances en tecnología, una gran cantidad de aplicaciones innovadoras continúa emergiendo, revolucionando las experiencias de los usuarios, optimizando procesos y fomentando una mayor lealtad del cliente al abordar sus necesidades de manera más efectiva. ### Pasos para construir un pipeline QuickML usa constructores de pipelines en modo clásico y modo inteligente para crear modelos de text analytics. El **modo Clásico** presenta una interfaz de constructor de pipelines de arrastrar y soltar donde una lista de operaciones de datos y aprendizaje automático están disponibles para construir modelos de NLP. Estos nodos se pueden arrastrar y soltar en el constructor para construir el pipeline de aprendizaje automático, que, al ejecutarse, genera un modelo de NLP. El modo Inteligente proporciona una plantilla preconstruida para construir modelos de NLP, diseñada para simplificar el proceso de desarrollo del modelo desde el preprocesamiento de datos, extracción de características hasta la selección del modelo. Con esta plantilla preconstruida, los stages están predefinidos y los usuarios tienen varios parámetros para configurar las operaciones en cada stage. Esta plantilla elimina la ambigüedad de qué operación usar y cuándo, para construir modelos de NLP y optimiza el proceso de construcción de modelos. #### Construir un Modelo Usando Smart Builder La construcción de modelos de aprendizaje automático basados en texto sigue un proceso similar a otros modelos de ML, involucrando pasos similares desde el preprocesamiento de datos, selección de algoritmos y ajuste del modelo. Sin embargo, los modelos de NLP difieren en la secuencia de aplicación de operaciones específicas basadas en texto. Esta secuencia es crucial para construir un modelo, ya que asegura que los datos de texto se transformen y procesen de la manera más efectiva antes de aplicar algoritmos de aprendizaje automático. En el Modo Inteligente de construcción de modelos, el constructor de pipelines se simplifica en tres pasos principales: - **Preprocesamiento**: En este paso, los datos de texto sin procesar se limpian y preparan para un análisis posterior. Esto implica operaciones como tokenización, conversión de mayúsculas/minúsculas, stemming y lematización, eliminación de stopwords y ruido, y normalización. - **Extracción de Características**: Este paso implica convertir los datos de texto en características numéricas que pueden ser comprendidas por los algoritmos de aprendizaje automático. Se usan comúnmente técnicas como TF-IDF, word embeddings y bag-of-words. - **Selección de Algoritmo**: En el paso final, se elige un algoritmo adecuado de los algoritmos de aprendizaje supervisado o no supervisado disponibles según el caso de uso. El modelo se entrena entonces usando los datos preprocesados del paso de extracción de características. Cada paso en el Constructor de Pipelines del Modo Inteligente viene con stages/operaciones configurables que le permiten configurar las operaciones para su problema específico de NLP. Profundicemos en cada paso y exploremos los stages/operaciones disponibles en ellos: #### Stage 1: Preprocesamiento Los datos de texto generalmente son sin procesar, por lo que es importante procesar los datos antes de alimentarlos a cualquier algoritmo para mejorar el rendimiento. En nuestro smart builder, el stage de preprocesamiento de datos textuales tiene 7 operaciones donde las primeras seis operaciones trabajan en los datos textuales y la operación final Label Encoding se aplica en la columna objetivo de los conjuntos de datos etiquetados. La salida de este stage se pasa al stage de Extracción de Características, donde todos los datos de texto se convierten a formato numérico. Veamos las operaciones en el stage de preprocesamiento. #### a. Conversión de mayúsculas/minúsculas Convierte los datos de texto sin procesar con diferentes mayúsculas/minúsculas a un caso común deseado (minúsculas en general). Esto ayudaría a reducir la dispersión (sin un caso común "NLP, Nlp, nlp" se considerarían como tres palabras diferentes). <!-- **Example:** Dataset preview before applying case conversion: /image After applying case conversion /image --> #### b. Tokenización La tokenización es descomponer los datos textuales en unidades más pequeñas. Por ejemplo, los párrafos se pueden segmentar en oraciones, las oraciones en palabras y las palabras en caracteres individuales, permitiendo descubrir patrones o información que no son visibles en segmentos más grandes. En QuickML, la tokenización de oraciones se puede realizar tanto a nivel de palabra como de carácter. Después de aplicar la tokenización en los datos a nivel de Palabra, las operaciones posteriores (Stemming y lematización, Eliminación de stopwords, Eliminación de ruido, Normalización) se pueden aplicar a los datos según sea necesario. Sin embargo, a nivel de Carácter, solo la operación de Eliminación de ruido se puede aplicar a los datos tokenizados. **Stages de tokenización:** Texto : Oraciones ➔ palabras ➔ caracteres <!-- **Example:** Output will be a list of tokenized texts - Words or Characters Dataset preview before applying: /image After applying /image --> #### c. Stemming y Lematización Ambas técnicas reducen las palabras a sus formas raíz, ayudando a normalizar las variaciones de palabras para un análisis más consistente. El stemming recorta los caracteres finales para obtener su forma raíz, que puede no ser siempre una palabra correcta. La lematización, sin embargo, reduce las palabras a su forma de diccionario considerando el contexto, resultando en una palabra correcta con un significado preciso. La diferencia clave es que el stemming es más rápido pero menos preciso, mientras que la lematización es más precisa pero más lenta, ya que depende del vocabulario y la gramática. **Ejemplo:** <table class="content-table quickml-content-table"> <thead> <tr> <th class="w25p">Palabras</th> <th class="w30p">Palabra con stem</th> <th class="w15p">Palabra lematizada</th> </tr> </thead> <tbody> <tr> <td>Studying, Studies,<br>Studied</td> <td>Studi</td> <td>Study</td> </tr> <tr> <td>Running, Runner, Runs</td> <td>Run or Runn</td> <td>Run</td> </tr> <tr> <td>Changing</td> <td>Chang</td> <td>Change</td> </tr> </tbody> </table> <!-- **Example:** Dataset preview before applying: /image --> #### d. Eliminación de stopwords Los idiomas tienen muchas palabras de relleno que no proporcionan ningún uso significativo durante el entrenamiento. Al eliminarlas, podemos hacer que nuestro modelo se enfoque más en palabras importantes. Los artículos, preposiciones, etc., entran en la categoría de stopwords. <!-- **Example:** Dataset preview before applying: /image\ After applying /image --> #### e. Eliminación de ruido Eliminar palabras no deseadas o partes de texto dependiendo de la característica en cuestión. Ejemplo: la clasificación de sentimiento en NLP no requiere las direcciones de correo electrónico. Se puede hacer usando regex o teniendo una lista de palabras de ruido. Los espacios adicionales, caracteres especiales y dígitos también se pueden considerar como ruido. <!-- **Example:** Dataset preview before applying: /image After applying /image --> #### f. Normalización Convertir diferentes formatos de texto en un formato estándar. Ejemplo: Las palabras USA, usa, United states of America, The united states of America, the usa a usa. Esto se puede lograr usando mapeo de diccionario. La eliminación de ruido también se puede considerar como parte de la normalización de texto. <table class="content-table quickml-content-table"> <thead> <tr> <th class="w10p">Sin procesar</th> <th class="w10p">Normalizado</th> </tr> </thead> <tbody> <tr> <td> 2moro<br> 2mrrw<br> 2morrow<br> 2mrw<br> tomrw </td> <td>tomorrow</td> </tr> <tr> <td>b4</td> <td>before</td> </tr> <tr> <td>otw</td> <td>on the way</td> </tr> <tr> <td>:)<br>:-)<br>;)</td> <td>smile</td> </tr> </tbody> </table> <!-- Dataset preview before applying: /image\ After applying /image --> #### g. Label Encoding Label encoding es un método utilizado para transformar variables categóricas en valores numéricos asignando un entero único a cada categoría. Ayuda a los algoritmos de aprendizaje automático a procesar datos categóricos de manera efectiva. En el contexto de datos de texto, la etiqueta objetivo representa una variable categórica con varias clases que se pueden convertir en forma numérica para entrenar el modelo de manera efectiva. <!-- **Example:** Dataset preview before applying: /image algorithms to process categorical data effectively. In the context of text data, the target label represents a categorical variable with various classes that can be converted into numeric form to train the model effectively. **Example:** Dataset preview before applying:\ /image After applying\ /image --> Ahora, nuestros datos de texto están limpios y listos para ser transformados en vectores de palabras usando las técnicas de vectorización disponibles en el stage de extracción de características a continuación. ## Stage 2: Extracción de Características Los datos textuales no se pueden alimentar directamente a un algoritmo; primero deben convertirse a un formato numérico. Hay varios métodos para esta conversión, conocidos como técnicas de vectorización, que también se pueden usar para extraer características adicionales de los datos vectorizados. En este contexto, cada palabra, oración o carácter presentado a un modelo se trata como una característica. Dicho esto, en QuickML, la conversión de texto a número ocurre usando las técnicas a continuación. Este es el proceso de transformar datos textuales en formato numérico que captura el significado semántico de palabras o frases. Las técnicas disponibles en QuickML incluyen: #### a. Bag Of Words (BOW) Bag of words crea un vocabulario de palabras únicas presentes en todo el corpus de texto. Cada oración se representa entonces como un vector, hace el mapeo basándose en la presencia de estas palabras, con los valores representando la frecuencia de ocurrencia de cada palabra dentro de esa oración. **Ejemplo:** A continuación se muestra un ejemplo que presenta la representación vectorizada del modelo Bag of Words para las siguientes oraciones: **S1.** Machine learning solves real world problems **S2.** NLP popularity is rising **S3.** Language translation is NLP task **Representación de tabla de Bag of Words:** Las filas representan las oraciones proporcionadas, y las columnas representan cada palabra en estas oraciones, y los valores representan la frecuencia de ocurrencia de la palabra específica en cada oración. **Representación Vectorial:** Cada oración se representa como un vector teniendo los conteos de palabras de la tabla BoW. La longitud del vector es igual al número de palabras únicas en el vocabulario. A continuación se muestra la representación vectorizada de las tres oraciones anteriores. Oración 1 → [ 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0] Oración 2 → [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0] Oración 3 → [0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1] El modelo BoW representa datos de texto como vectores y cada palabra en el corpus de texto como una característica. Simplifica los datos para el modelado pero no logra capturar la santidad del orden de las palabras y su significado contextual. #### b. TF-IDF (Term Frequency - Inverse Document Frequency) TF-IDF cuantifica la importancia de cada palabra en el corpus y permite extraer características importantes de los datos de texto que son útiles para entrenar el modelo para un mejor rendimiento. Cuanto más alto sea el puntaje TF-IDF, más importante es la palabra, y viceversa. Se puede calcular en tres pasos. **Paso 1: Term Frequency (TF)** mide cuán frecuentemente aparece un término en un documento en relación con el número total de palabras únicas en ese documento. Term Frequency de una palabra (**TF**) = Número de veces que una palabra aparece en un documento / Número total de palabras únicas en el documento **Paso 2: Inverse Document Frequency (IDF)** mide cuán importante es un término a través de los documentos. IDF de una palabra= log(N/n), donde, **N** es el número total de documentos y **n** es el número de documentos en los que ha aparecido una palabra. **Paso 3: Calcular el puntaje TF-IDF** **TF-IDF = TF * IDF** El IDF de las palabras que ocurren con menos frecuencia será alto y bajo para las palabras comunes. Así, palabras como 'the, is, a' etc. tendrán una importancia baja, y se podría dar mayor importancia a las palabras específicas del documento. **Ejemplo:** Usemos el ejemplo de muestra de Bag of Words: **S1.** Machine learning solves real world problems **S2.** NLP popularity is rising **S3.** Language translation is NLP task **Paso 1: Calcular Term Frequency (TF)** **Paso 2: Calcular el puntaje IDF** **Paso 3: Calcular TF-IDF** Multiplicar TF por IDF para cada término en cada oración Las ideas clave del ejemplo incluyen: <u>**TF-IDF alto**</u>: los valores indican que un término es importante en una oración específica y no es común en todas las oraciones. <u>**TF-IDF bajo**</u>: los valores sugieren que un término es común en todas las oraciones o no es único para ninguna oración individual. TF-IDF resalta las palabras importantes para entender el contexto en el corpus. Muestra cómo algunas palabras o términos son más importantes en un texto específico que en otros. #### c. Word2Vec Word2Vec es un modelo de word embedding preentrenado que genera vectores numéricos (embeddings) para palabras basándose en sus relaciones semánticas y contextuales. Se entrena en un gran corpus de texto para asegurar que las palabras con significados o contextos similares tengan vectores de embedding cercanos en el espacio vectorial. Estas relaciones se pueden cuantificar usando similitud coseno, donde una puntuación más alta indica mayor similitud. **Ejemplo:** Palabras como "king" y "queen" tendrán vectores cercanos entre sí, reflejando su contexto compartido de realeza. De manera similar, "man" y "woman" tendrán vectores que capturan su relación y significado compartido, demostrando la capacidad de Word2Vec para modelar relaciones semánticas de manera efectiva. #### d. GloVe GloVe (Global Vectors for Word Representation) es un modelo de word embedding preentrenado similar a Word2Vec que genera vectores de embedding para palabras dadas. Es un modelo basado en conteo que produce embeddings factorizando una matriz de co-ocurrencia de palabras derivada de todo el corpus. GloVe captura información estadística global analizando cuán frecuentemente co-ocurren las palabras a través del corpus. A diferencia de Word2Vec, que usa un enfoque predictivo basado en el contexto local, GloVe se basa en estadísticas globales de co-ocurrencia para el entrenamiento. Difiere de Word2Vec en el método de entrenamiento. **Ejemplo:** En GloVe, palabras como "king" y "queen" tendrán vectores similares, reflejando su relación semántica (por ejemplo, realeza). Además, GloVe sobresale en capturar relaciones analógicas. **Por ejemplo:** king - man + woman ≈ queen Esta analogía representa la transformación: La relación entre "king" y "man" (que se puede pensar como "king es a man como queen es a woman") se captura matemáticamente restando "man" de "king" y sumando "woman". El resultado es "queen", lo que significa que el modelo entiende que así como king es a man, queen es a woman. Esto significa que la diferencia vectorial entre "king" y "man" es similar a la diferencia entre "queen" y "woman", ilustrando la capacidad de GloVe para modelar tanto el significado como las relaciones de manera efectiva. ## Stage 3: Algoritmos y Modelado Los datos de texto se alimentan a los algoritmos en forma vectorizada para generar un modelo de NLP. Los modelos de NLP se pueden clasificar ampliamente en modelos de aprendizaje supervisado y no supervisado. En QuickML, tenemos algoritmos que usan datos etiquetados para construir modelos de aprendizaje supervisado. Los algoritmos incluyen: - Naive Bayes - SVM ### Métricas de Evaluación del Modelo NLP también tiene las métricas de evaluación comunes como accuracy, precision, f1 score, etc. #### i. Puntuación Log-Loss Log-loss, también conocido como pérdida logística o pérdida de entropía cruzada, es una métrica de evaluación comúnmente utilizada en modelos de procesamiento de lenguaje natural (NLP), especialmente para tareas de clasificación binaria y multiclase. Log-loss cuantifica la diferencia entre las probabilidades predichas y las etiquetas de clase reales. La probabilidad de predicción de un registro de datos es la probabilidad que el modelo tiene que predecir para cada clase bajo la cual clasificó. La etiqueta de clase real es la clase verdadera a la que pertenece el registro de datos. La puntuación de log loss indica cuán cerca está la probabilidad de predicción de la etiqueta de clase real. Cuanto más divergidos estén los valores de posibilidad predichos de los valores reales, mayor será la puntuación de log loss. **donde** i es la observación/registro dado, y es el valor real/verdadero, p es la probabilidad de predicción, y ln se refiere al logaritmo natural (valor logarítmico usando base de e) de un número N es el número de observaciones Mide el rendimiento de un modelo de clasificación cuya salida es un valor de probabilidad entre 0 y 1. Cuanto menor sea la puntuación de log-loss, mejor se ajusta el modelo y mayor es el rendimiento. Un modelo con una puntuación de log-loss de 0 tiene la habilidad perfecta para predecir. <b>Por ejemplo:</b> En la clasificación de spam, la clase real de un correo electrónico es "Spam". La probabilidad predicha para que el correo sea "Spam" es 0.78, y para ser "No-Spam" es 0.22. El logaritmo natural negativo de la probabilidad predicha para la clase correcta (Spam) es 0.2485, que representa la puntuación de log-loss para ese registro particular. La puntuación de log-loss del modelo se calcula como el promedio del logaritmo natural negativo de las probabilidades predichas para las clases correctas en todos los registros. #### ii. Curva AUC-ROC El Área bajo la curva de la Característica Operativa del Receptor (AUC-ROC) es una métrica de aprendizaje automático que mide qué tan bien está funcionando un modelo de clasificación. AUC representa el área bajo la curva ROC, donde ROC es un gráfico que traza la Tasa de Verdaderos Positivos (TPR) contra la Tasa de Falsos Positivos (FPR) en diferentes umbrales de clasificación. Verdadero Positivo (TP) y Falso Positivo (FP) son términos utilizados en la matriz de confusión para evaluar el rendimiento de los modelos de clasificación. 1. <u>**Tasa de Verdaderos Positivos (TPR)**</u>, también llamada sensibilidad o recall, mide la proporción de registros positivos reales que son correctamente identificados por el modelo. <center> <font color="red">Puntuación de Recall</font> = TP/(TP+FN) donde FN representa Falsos Negativos. </center> 2. <u>**Tasa de Falsos Positivos (FPR)**</u> mide la proporción de registros negativos reales que son incorrectamente clasificados como positivos. <center> FPR = FP/(FP + TN) donde TN representa Verdaderos Negativos. </center> <center> FPR, también se calcula como: <font color="red">FPR = 1- Especificidad</font> </center> La especificidad mide las instancias negativas reales que son correctamente identificadas por el modelo. Una interpretación visual de la curva AUC - ROC se muestra a continuación. Una ROC es el gráfico entre TPR y FPR a través de todos los umbrales posibles, mientras que AUC es el área completa bajo la curva ROC. La puntuación AUC (Área Bajo la Curva) varía de 0 a 1, con puntuaciones más altas indicando mejor rendimiento del modelo. 1. <u>**Un AUC de 1**</u> significa un modelo perfecto, donde la curva ROC (Característica Operativa del Receptor) forma un camino de ángulo recto completo, logrando 100% de sensibilidad (Tasa de Verdaderos Positivos) con 0% de Tasa de Falsos Positivos. 2. <u>**Un AUC de 0.75**</u> indica que el modelo tiene una buena capacidad para distinguir entre clases positivas y negativas el 75% del tiempo, mostrando un mejor rendimiento pero aún dejando margen de mejora. 3. <u>**Un AUC de 0.5**</u> sugiere que el modelo no funciona mejor que una predicción aleatoria, que es el resultado menos deseable. Una puntuación AUC más alta siempre refleja una mejor discriminación del modelo entre clases. ### Visualizaciones #### Wordcloud Un Word Cloud es una representación visual de las palabras que ocurren con más frecuencia en un corpus de texto. El tamaño de cada palabra en el word cloud refleja su frecuencia de ocurrencia. Los word clouds se usan comúnmente para identificar rápidamente y resaltar las palabras clave o frases más prominentes en grandes conjuntos de datos de texto, facilitando la comunicación de los términos o conceptos clave que se están discutiendo. **Ejemplo:** Tomemos un ejemplo de un extracto de "Las Crónicas de Narnia: El León, la Bruja y el Armario". Analicemos el word cloud generado a continuación para ese texto proporcionado para identificar las palabras frecuentes y significativas utilizadas. Con este word cloud, podemos extraer rápidamente palabras clave importantes, obtener información y comprender el contexto general del texto de una manera visualmente atractiva y eficiente en tiempo. -------------------------------------------------------------------------------- title: "Agrupamiento" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.906Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/clustering/" service: "QuickML" -------------------------------------------------------------------------------- ### Introducción Clustering es un proceso de agrupar puntos de datos similares en grupos significativos, donde los elementos en el mismo grupo comparten características comunes mientras difieren de los elementos en otros grupos. Pertenece al dominio del **aprendizaje no supervisado**, una rama del aprendizaje automático que funciona sin etiquetas o resultados predefinidos. En lugar de que se le indique cuáles son los agrupamientos correctos, el algoritmo descubre estructuras ocultas dentro de los datos por sí mismo. Esto hace que el clustering sea especialmente valioso cuando se trata de conjuntos de datos grandes y desorganizados, ayudando a los usuarios a detectar patrones, descubrir agrupaciones naturales y simplificar información compleja en segmentos más comprensibles. En su esencia, el clustering responde a la pregunta: "¿Qué puntos de datos son similares entre sí?" Se puede aplicar en dominios como segmentación de clientes, reconocimiento de imágenes, detección de anomalías y categorización de documentos, entre muchos otros. Nota: La función de Clustering está disponible en acceso anticipado en todos los centros de datos. Para usarla, solicite acceso a través de support@zohocatalyst.com ### Construyendo Intuición Detrás del Clustering Antes de profundizar en los tipos de clustering y sus algoritmos, comencemos con una comprensión intuitiva del clustering. Imagine que tiene un conjunto de datos de espectadores de películas, donde cada espectador se describe por múltiples atributos como el número de películas vistas por género, calificación promedio otorgada y frecuencia de visualización. No sabe de antemano qué espectadores tienen gustos similares. Al aplicar un algoritmo de clustering, a cada espectador se le asigna un cluster basado en la similitud general a través de todas las características. Al final, puede ver visualmente agrupaciones naturales de espectadores: un cluster podría contener fanáticos de películas de acción y thriller, otro podría ser entusiastas de la comedia, y un tercero podría representar espectadores que prefieren romance o drama. El algoritmo ha descubierto patrones ocultos en el comportamiento de los espectadores sin que nunca se le haya indicado qué espectadores son similares. ### Criterios Clave de Éxito para el Análisis de Clustering El clustering es inherentemente iterativo y exploratorio, requiriendo experiencia en el dominio y juicio humano. A diferencia del aprendizaje supervisado, no hay resultados etiquetados, por lo que no puede usar métricas tradicionales como precisión o RMSE para evaluar el rendimiento. Esto hace que la evaluación de modelos de clustering sea subjetiva y dependiente de los objetivos del negocio. **Los criterios clave para el éxito incluyen:** - **Interpretabilidad**: ¿Puede explicar por qué los puntos fueron agrupados juntos? - **Utilidad empresarial**: ¿La salida del clustering proporciona información accionable? - **Descubrimiento de conocimiento**: ¿Ha aprendido nuevos patrones o descubierto estructuras ocultas en los datos? El éxito en el clustering a menudo proviene de combinar la salida algorítmica con el conocimiento del dominio para refinar los clusters y extraer información significativa. ### Aplicaciones Empresariales del Clustering El clustering encuentra aplicaciones en una amplia gama de industrias, como las que se enumeran a continuación, porque ayuda a revelar agrupaciones naturales en los datos sobre las cuales las empresas pueden actuar. **Retail y Marketing** El clustering se usa ampliamente en retail y marketing para segmentar clientes en grupos, como compradores económicos, compradores estacionales o clientes premium. Estas ideas permiten a las empresas ejecutar campañas dirigidas, diseñar programas de fidelización e incluso optimizar los diseños de tiendas identificando productos que se compran frecuentemente juntos. **Comercio Electrónico y Plataformas en Línea** Las plataformas de comercio electrónico dependen en gran medida del clustering para la personalización. Al analizar los historiales de navegación y compra, los algoritmos de clustering pueden agrupar usuarios con comportamiento similar y generar recomendaciones de productos adaptadas a cada segmento. Más allá de los clientes, el clustering también ayuda a organizar vastos catálogos de productos en categorías, mientras que los patrones inusuales de navegación o reseñas pueden ser marcados como actividad sospechosa. **Finanzas y Banca** En el sector financiero, el clustering juega un papel clave en la detección de fraude al distinguir clusters de transacciones normales de outliers raros y aislados que pueden representar actividad fraudulenta. Los bancos también usan clustering para segmentar clientes basándose en patrones de gasto y niveles de ingresos, permitiéndoles diseñar tarjetas de crédito personalizadas, ofertas de préstamos o portafolios de inversión. De manera similar, los analistas usan clustering para agrupar acciones que se comportan de manera similar en el mercado, ayudando en la diversificación de portafolios. **Salud y Ciencias de la Vida** La salud y las ciencias de la vida también se benefician de las técnicas de clustering. Los registros de pacientes se pueden agrupar para identificar subtipos de enfermedades o poblaciones de alto riesgo, lo que apoya la intervención temprana y los planes de tratamiento personalizados. Los datos genéticos y clínicos, cuando se agrupan, a menudo revelan agrupaciones biológicas ocultas que aceleran el descubrimiento de medicamentos. Los hospitales también usan clustering para categorizar pacientes por costos de tratamiento, estancias hospitalarias o resultados, ayudando a mejorar la eficiencia operativa. **Telecomunicaciones y Tecnología** Las empresas de telecomunicaciones aplican clustering para comprender el comportamiento del usuario, como agrupar clientes por patrones de llamadas o uso de internet, lo que luego informa la creación de planes de datos personalizados. También se usa para detectar anomalías en el tráfico de red o para optimizar el servicio al cliente agrupando automáticamente tickets de soporte en categorías como facturación, problemas de inicio de sesión o fallos técnicos. ### Cómo Funciona el Clustering Entendamos el clustering usando el algoritmo K-Means, uno de los métodos más ampliamente utilizados. **Paso 1: Elegir el número de clusters (k)** El proceso comienza decidiendo cuántos clusters desea que el algoritmo identifique. Este número, denotado como k, se puede determinar basándose en técnicas estadísticas como el Método del Codo que ayudan a estimar un equilibrio óptimo entre precisión e interoperabilidad. **Paso 2: Inicializar centroides** A continuación, el algoritmo selecciona aleatoriamente k puntos de datos del conjunto de datos como los centroides iniciales del cluster. Estos sirven como los puntos de referencia iniciales alrededor de los cuales los clusters comenzarán a formarse. En algunos casos, se usan métodos de inicialización mejorados como K-Means++ para seleccionar mejores posiciones iniciales, lo que puede ayudar al algoritmo a converger más rápido y producir resultados más confiables. **Paso 3: Asignar puntos de datos a clusters** Una vez que los centroides se inicializan, cada punto de datos en el conjunto de datos se asigna al centroide más cercano basándose en una métrica de distancia elegida, la distancia euclidiana, que mide cuán separados están dos puntos en el espacio. La fórmula para la distancia euclidiana entre dos puntos (x1,y1) y (x2,y2) es: Distance = √((x1 - x2)² + (y1 - y2)²) donde (x1,y1) y (x2,y2) son las coordenadas de dos puntos. Este paso efectivamente divide el conjunto de datos en k grupos, donde cada punto pertenece al cluster con el centroide más cercano. **Paso 4: Actualizar centroides** Después de que todos los puntos han sido asignados, el algoritmo recalcula la posición de cada centroide. Esto se hace tomando la media de todos los puntos de datos que pertenecen al mismo cluster. El nuevo valor medio se convierte en la ubicación actualizada del centroide, representando el centro de ese cluster más precisamente que antes. **Paso 5: Repetir asignación y actualización** El proceso de asignar puntos y actualizar centroides se repite iterativamente. Con cada iteración, los centroides ajustan sus posiciones ligeramente, y los puntos pueden cambiar entre clusters a medida que el algoritmo refina los límites. Este ciclo continúa hasta que las asignaciones de cluster ya no cambian significativamente o el movimiento de los centroides se vuelve mínimo. **Paso 6: Verificar la convergencia** Se dice que K-Means ha convergido cuando los centroides se estabilizan, lo que significa que dejan de moverse apreciablemente entre iteraciones. Alternativamente, el proceso puede detenerse cuando se alcanza un número máximo predefinido de iteraciones. En esta etapa, el algoritmo considera que el proceso de clustering está completo. **Paso 7: Generar la salida final** En el paso final, a cada punto de datos se le asigna una etiqueta de cluster (como 0, 1, 2, …, k–1) correspondiente al grupo al que pertenece. Las coordenadas finales de los centroides representan los centros de estos clusters. Estos resultados se pueden usar para casos de uso en tiempo real como segmentación de clientes. **Ejemplo** Apliquemos estos pasos a un ejemplo de segmentación de clientes para una mejor comprensión. Imagine que administra una tienda en línea y tiene un conjunto de datos de clientes con múltiples atributos, como gasto mensual, número de compras, preferencias de productos y más. No sabe de antemano qué clientes se comportan de manera similar. Después de aplicar un algoritmo de clustering, como K-Means, a cada cliente se le asigna un cluster basado en la similitud general a través de todas las características. Para visualizar los resultados, los datos se reducen a dos componentes: Componente 1 y Componente 2. Cada cliente se convierte en un punto en un gráfico de dispersión 2D: - Eje X: Componente 1 - Eje Y: Componente 2 Los puntos están codificados por colores según su cluster. Esta visualización facilita ver las agrupaciones naturales de clientes. Del gráfico anterior, podemos concluir que cada cluster formado representa un grupo de clientes con atributos e intereses similares. Y el negocio puede dirigirse a estos segmentos de clientes para aumentar los ingresos y las ganancias. K-Means es un algoritmo que pertenece al clustering basado en centroides. QuickML también admite varios algoritmos que pertenecen a diferentes tipos de clustering. Veamos los tipos de clustering. ### Tipos de Clustering Los métodos de clustering se pueden clasificar ampliamente en cuatro tipos principales, cada uno con su propio enfoque y aplicaciones. **1. Clustering basado en centroides**: Se basa en un punto central, o centroide, para representar cada cluster. Los puntos de datos se asignan al cluster cuyo centroide está más cerca, con clusters formados minimizando la distancia entre los puntos de datos y estos centroides. Un ejemplo común es la segmentación de clientes, donde los compradores se agrupan en categorías como económico, rango medio o premium basándose en su gasto mensual promedio. En esta visualización, los puntos de datos están agrupados alrededor de centroides — los marcadores rojos X representan estos centroides. Cada color indica un cluster distinto, y cada punto pertenece al cluster cuyo centroide está más cerca. El objetivo es minimizar la distancia total entre los puntos y sus centroides asignados. Este método asume que los clusters son aproximadamente esféricos e igualmente dimensionados, lo que funciona bien para distribuciones de datos simples y bien separadas. Algoritmos como K-Means y MiniBatchKMeans son ejemplos de clustering basado en centroides. **2. Clustering basado en medoides**: Es similar al de centroides pero en lugar de usar centroides calculados, elige puntos de datos reales, llamados medoides, como representantes del cluster. Esto hace que el enfoque sea más robusto al ruido y los outliers, ya que los clusters están anclados en observaciones reales. Por ejemplo, las empresas de telecomunicaciones pueden usar clustering basado en medoides para agrupar usuarios seleccionando perfiles de clientes representativos reales a partir de datos de comportamiento de llamadas. Aquí, los clusters están representados por medoides — puntos de datos reales mostrados como marcadores de diamante rojos. A diferencia de los centroides (que son promedios), los medoides son observaciones reales del conjunto de datos que minimizan la disimilitud total con otros puntos en su cluster. Esto hace que el enfoque sea más robusto al ruido y los outliers ya que los valores extremos tienen menos influencia en los centros del cluster. El gráfico muestra cómo los clusters se forman alrededor de puntos de datos representativos. Algoritmos como K-Medoids, CLARA y CLARANS siguen este principio. **3. Clustering basado en densidad**: Toma un camino diferente identificando regiones densas de puntos de datos y tratándolas como clusters, mientras que las áreas de baja densidad actúan como separadores. Una de sus fortalezas es la detección natural de outliers, ya que los puntos que no pertenecen a ninguna región densa se marcan como ruido. Una aplicación típica es la detección de fraude financiero, donde las regiones densas corresponden al comportamiento normal de gasto y los puntos dispersos o aislados indican transacciones sospechosas. En este gráfico, los clusters se forman basándose en regiones de alta densidad de datos. El algoritmo agrupa puntos que están cerca entre sí y etiqueta los puntos en regiones de baja densidad como ruido (a menudo marcados en un color diferente, como -1 en DBSCAN). Puede ver que este enfoque captura formas de cluster complejas y no esféricas (como el patrón curvado de "dos lunas"), con las que los métodos basados en centroides o medoides tienen dificultades. Es ideal para conjuntos de datos con límites irregulares o cuando detectar outliers es importante — por ejemplo, en la detección de fraude o anomalías. **4. Clustering basado en modelos**: Asume que los datos se generan a partir de una mezcla de distribuciones de probabilidad subyacentes, y asigna probabilidades de membresía al cluster en lugar de etiquetas duras (cada punto de datos se asigna a exactamente un cluster, como en K-Means). Este marco probabilístico lo hace especialmente útil en dominios complejos como el reconocimiento de voz, donde los patrones de sonido superpuestos se pueden modelar como una mezcla de distribuciones gaussianas. Esta visualización muestra clusters formados al modelar los datos como una mezcla de distribuciones gaussianas. Cada cluster corresponde a un componente gaussiano, y los puntos de datos tienen membresía probabilística — lo que significa que un punto puede pertenecer parcialmente a múltiples clusters. Los colores indican la asignación de cluster más probable para cada punto. Este método maneja mejor los clusters superpuestos y elípticos que K-Means, haciéndolo adecuado para distribuciones de datos más complejas y continuas. Nota: Cada algoritmo de clustering corresponde a uno de los tipos de clustering mencionados anteriormente, y puede consultar los detalles proporcionados en la documentación de ayuda de algoritmos de clustering para identificar su categorización. ### Pasos para Construir un Pipeline de Clustering en QuickML La construcción de un pipeline de clustering en QuickML usa Classic Builder, que asegura la identificación precisa de clusters e información accionable. **Paso 1: Ingesta de datos** El proceso comienza con la carga del conjunto de datos en QuickML, que sirve como base para el flujo de trabajo de clustering. Este paso implica importar datos de varias fuentes como archivos CSV, bases de datos o sistemas de almacenamiento en la nube. **Paso 2: Preprocesamiento de datos** Una vez que los datos se ingestan, pasan por una fase de preprocesamiento para asegurar calidad y consistencia. Este paso incluye el manejo de valores faltantes a través de técnicas como imputación o eliminación, codificación de variables categóricas usando métodos como codificación de etiquetas o one-hot, y aplicación de técnicas de transformación de datos para mejorar la calidad de los datos y el rendimiento del modelo. Un preprocesamiento efectivo reduce el sesgo y mejora la precisión del clustering al asegurar que los algoritmos basados en distancia traten todas las características de manera justa. **Paso 3: Selección de algoritmo** Después del preprocesamiento, QuickML permite a los usuarios seleccionar un algoritmo de clustering apropiado basado en las características de los datos y el resultado deseado. Algoritmos como K-Means, DBSCAN, BIRCH o Gaussian Mixture Models (GMM) se pueden aplicar dependiendo de si el conjunto de datos tiene estructuras de cluster bien separadas, basadas en densidad o probabilísticas. La selección del algoritmo correcto es crucial, ya que diferentes métodos capturan diferentes tipos de relaciones y estructuras dentro de los datos. **Paso 4: Entrenamiento del modelo** En este paso, el algoritmo seleccionado se aplica a los datos procesados para identificar agrupaciones naturales. El modelo aprende iterativamente asignando puntos de datos similares al mismo cluster basándose en la medida de similitud o distancia definida. Los parámetros clave, como el número de clusters en K-Means o el valor epsilon en DBSCAN, se ajustan para producir resultados significativos y estables. El resultado de esta fase es la identificación de clusters de datos distintos que revelan patrones y estructuras ocultos dentro del conjunto de datos. **Paso 5: Evaluación de clusters** Después de que los clusters se forman, QuickML evalúa su calidad y validez usando varias métricas estadísticas. Las métricas comúnmente utilizadas incluyen el Silhouette Score, que mide qué tan bien cada punto de datos encaja dentro de su cluster; el Calinski-Harabasz Score, que evalúa la compacidad y separación del cluster; y el Davies-Bouldin Score, que evalúa la similitud promedio del cluster. Estas métricas de evaluación ayudan a determinar si los resultados del clustering son tanto interpretables como confiables para aplicaciones prácticas. ### Métricas de Evaluación de Clustering Las métricas de evaluación mencionadas a continuación proporcionan colectivamente información sobre diferentes aspectos del rendimiento del modelo de clustering, como qué tan bien están separados los grupos, qué tan compactos son y si los clusters revelan similitudes significativas en los datos, en lugar de agrupaciones arbitrarias. A diferencia del aprendizaje supervisado, el clustering no tiene etiquetas predefinidas, por lo que estas métricas actúan como medidas guía para juzgar la calidad de los clusters. Exploremos e interpretemos las métricas comúnmente utilizadas para evaluar modelos de clustering en QuickML: **1. Silhouette Score** **Qué le dice**: Mide qué tan similar es un punto de datos a su propio cluster en comparación con otros clusters. **Intuición:** - El silhouette score varía de -1 a +1. - Una puntuación alta (cercana a +1) indica que los puntos de datos están bien agrupados, con agrupación compacta y separación clara de otros clusters. - Una puntuación cercana a 0 sugiere clusters superpuestos o puntos que se encuentran en el límite entre clusters. - Una puntuación negativa (cercana a -1) indica un clustering deficiente donde los puntos pueden estar asignados al cluster incorrecto o los clusters se superponen significativamente. **Ejemplo de Inferencia:** Si el silhouette score es 0.52, significa que los clusters están razonablemente bien formados y separados, pero todavía hay alguna superposición entre los puntos de datos. **2. Calinski-Harabasz Score** **Qué le dice**: Esta puntuación compara cuán separados están los clusters (dispersión entre clusters) con cuán compactos son los puntos dentro de cada cluster (dispersión dentro del cluster). **Intuición:** - La puntuación es ilimitada y varía de -∞ a +∞ (mayor es mejor). - Una puntuación más alta indica que los clusters son compactos dentro de sí mismos y están bien separados de los demás. - Una puntuación más baja sugiere que los clusters están dispersos internamente o no están claramente separados. **Ejemplo de Inferencia:** Si el Calinski-Harabasz score es 950, sugiere que los clusters son relativamente densos y claramente particionados, mostrando una buena estructura de separación. **3. Davies-Bouldin Score** **Qué le dice:** Mide la similitud promedio entre clusters, basándose en la relación de la distancia intra-cluster a la separación inter-cluster. **Intuición:** - La puntuación varía de -∞ a +∞ (menor es mejor). - Una puntuación más baja significa que los clusters son más distintos y tienen menos superposición. - Una puntuación más alta sugiere similitud significativa entre clusters, lo que implica una separación deficiente. **Ejemplo de Inferencia:** Si el Davies-Bouldin score es 0.60, indica que los clusters están razonablemente bien separados, pero no perfectamente distintos — todavía existe alguna superposición. **4. Número de Clusters** Indica cuántos grupos distintos el algoritmo ha identificado en el conjunto de datos. **Ejemplo de Inferencia:** Si el modelo produce 3 clusters, sugiere que el conjunto de datos se puede dividir significativamente en tres grupos distintos, por ejemplo, tres tipos de segmentos de clientes: compradores económicos, de rango medio y premium. ### Evaluación Visual de Clusters Además de las puntuaciones numéricas, la evaluación de clusters también se puede hacer a través de visualización en QuickML. La distribución de clusters y los gráficos de clusters dan una sensación intuitiva de equilibrio, separación y estructura dentro de los datos. **1. Distribución de Clusters** **Qué le dice:** Esto muestra cuántos puntos de datos caen en cada cluster usando un gráfico de histograma. **Intuición:** - Una distribución equilibrada significa que los clusters son relativamente uniformes en tamaño, lo que a menudo indica una agrupación natural. - Una distribución desequilibrada significa que uno o más clusters dominan en tamaño, lo que puede sugerir ya sea un dominio del mundo real (por ejemplo, la mayoría de los clientes pertenecen a un segmento) o una limitación del método de clustering. **Ejemplo de Inferencia:** Si el Cluster 0 tiene 600 puntos, el Cluster 1 tiene 150 puntos y el Cluster 2 tiene 30 puntos, sugiere que la mayoría de los puntos de datos pertenecen al Cluster 0, mientras que los Clusters 1 y 2 representan grupos más pequeños y de nicho. **2. Gráfico de Clusters** **Qué le dice:** Visualiza cómo los clusters están separados en un espacio de menor dimensión usando un gráfico de dispersión (generalmente usando PCA o t-SNE para reducción de dimensionalidad). **Intuición:** - Clusters bien separados en el gráfico indican un buen rendimiento del algoritmo de clustering. - Clusters superpuestos sugieren ambigüedad en las asignaciones, lo que significa que el algoritmo encontró difícil separar claramente los grupos. **Ejemplo de Inferencia:** Si el gráfico muestra grupos claramente visibles con límites distintos, confirma que el algoritmo ha identificado clusters significativos. Si los grupos se superponen mucho, sugiere la necesidad de probar un algoritmo diferente (por ejemplo, DBSCAN para formas irregulares). **3. Descargar Predicciones del Modelo** **Qué le dice:** Esto le permite exportar los resultados de clustering del modelo para todo el conjunto de datos. Cada punto de datos se etiqueta con el cluster al que pertenece. **Beneficios:** - Proporciona un mapeo directo de puntos de datos a clusters, facilitando el análisis de asignaciones individuales fuera de QuickML. - Permite análisis posterior adicional, como perfilado de clusters, referencias cruzadas con datos externos o realización de acciones dirigidas (por ejemplo, marketing a un segmento específico de clientes). - Esto ofrece transparencia y trazabilidad ya que puede ver exactamente qué puntos de datos fueron asignados a qué cluster, lo cual es útil para validación y reportes. **Para descargar predicciones del modelo** 1. Navegue a la página de detalles del modelo deseado. 2. Desplácese hacia abajo hasta la sección **Visualizations**. 3. Haga clic en el botón **View Model Predictions** arriba del gráfico de clusters. Aparece una ventana emergente de Model Predictions desde la cual puede descargar las predicciones. -------------------------------------------------------------------------------- title: "AutoML" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.906Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/automl/" service: "QuickML" -------------------------------------------------------------------------------- ### ¿Qué es AutoML? El aprendizaje automático automatizado, o AutoML, es un enfoque para construir modelos de aprendizaje automático. Automatiza todo el proceso de tareas de desarrollo de modelos, a diferencia del método tradicional donde las tareas se realizan manualmente. AutoML capacita a los usuarios, desde científicos de datos e ingenieros de ML hasta propietarios de negocios e interesados de diferentes niveles de habilidad, para construir modelos de calidad sin requerir ninguna experiencia en programación ni conocimiento estadístico. Este enfoque acelera el tiempo para llevar el modelo de la idea a la producción en un corto período, a diferencia del proceso tradicional. ### Detrás de Escena de un Pipeline AutoML AutoML incluye tareas como preprocesamiento de datos, ingeniería de características, selección de algoritmos, ajuste de hiperparámetros y evaluación de modelos, que se realizan de una sola vez sin ninguna intervención manual. Realiza las operaciones esenciales secuencialmente para optimizar y preparar los datos de entrada por sí mismo y ejecuta las tareas automáticamente hasta el objetivo final: construir un modelo de alto rendimiento. Las etapas generales del desarrollo de modelos de aprendizaje automático que son manejadas automáticamente por AutoML son las siguientes: 1. **Preprocesamiento de Datos** - El primer paso que AutoML realiza es limpiar y transformar los datos sin procesar en un formato utilizable. Aborda automáticamente los valores faltantes, los valores atípicos, la codificación y la normalización de datos para optimizar los datos para la entrada del modelo. 2. **Ingeniería de Características** - AutoML reduce el tamaño de los datos y la complejidad al reducir el ruido y las características no deseadas o crea nuevas características cuando es necesario para ayudar a mejorar el rendimiento y la precisión del modelo. Usar las características más importantes y relevantes en la construcción del modelo resulta en un modelo de alto rendimiento. 3. **Selección de Modelo** - Se prueban varios algoritmos para un mejor rendimiento que se adapte al conjunto de datos, para encontrar el mejor ajuste. AutoML compara e identifica el modelo más adecuado basándose en su rendimiento. 4. **Ajuste de Hiperparámetros** - AutoML también realiza la tarea que es el corazón de la construcción de un modelo de alto rendimiento, el ajuste de hiperparámetros, para encontrar la combinación más efectiva. Aplica múltiples técnicas como búsqueda en cuadrícula, búsqueda aleatoria u optimización bayesiana para mejorar la precisión del modelo y reducir las tasas de error. 5. **Evaluación del Modelo** - Se utilizan diferentes métricas de evaluación para diferentes modelos para evaluar el rendimiento. Después del ajuste, el modelo se somete a evaluación utilizando un conjunto de datos de validación, donde se evalúan métricas clave como precisión, exactitud, recall, puntuación F1 o error cuadrático medio. Esta etapa ayuda a determinar la calidad y el rendimiento del modelo. 6. **Métodos de Ensemble** - AutoML también utiliza técnicas de ensemble, si es necesario, combinando múltiples modelos para aumentar la precisión y el rendimiento. Estos métodos pueden incrementar la precisión al combinar las fortalezas de diferentes algoritmos. ### AutoML en QuickML La función AutoML de QuickML genera automáticamente un pipeline completo con stages esenciales, ofreciendo una solución de extremo a extremo que refleja el modo de construcción de pipeline personalizado. Actualmente, AutoML en QuickML solo admite modelos de predicción, permitiendo a los usuarios construir varios tipos de modelos de Classification, Regression y Ensemble adaptados a los datos de entrada y requisitos comerciales específicos. Este proceso simplificado de AutoML simplifica el desarrollo de modelos mientras asegura predicciones de alta calidad basadas en datos, convirtiéndolo en una herramienta efectiva para los usuarios que buscan acelerar su flujo de trabajo de construcción de modelos. #### Beneficios clave del AutoML de QuickML QuickML ofrece ventajas significativas con sus capacidades de AutoML, proporcionando un enfoque optimizado y accesible para construir modelos de aprendizaje automático. - Fácil interpretación de los stages del pipeline - Activación de AutoML en unos pocos clics, haciéndolo amigable para no expertos - Reducción de dependencia de recursos - Pipelines editables para optimización - Creación fluida de endpoints para predicciones en tiempo real - Consistencia y confiabilidad en la calidad del modelo - Eficiencia en tiempo y costo - Escalable y adaptable para varios casos de uso (modelos de Classification, Regression, Ensemble) -------------------------------------------------------------------------------- title: "Detección de Anomalías" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.906Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/learning-center/anomaly-detection/" service: "QuickML" -------------------------------------------------------------------------------- ### Introducción La detección de anomalías es el proceso de identificar puntos de datos, eventos o patrones que se desvían significativamente del comportamiento esperado en un conjunto de datos. Estas observaciones inusuales, también llamadas **outliers**, pueden indicar situaciones críticas como fraude, mal funcionamiento de equipos, amenazas de ciberseguridad o cambios inesperados en el comportamiento del consumidor. En QuickML, utilizamos ampliamente **algoritmos de aprendizaje no supervisado** para la detección de anomalías, donde los algoritmos aprenden patrones de normalidad sin depender de etiquetas predefinidas. En lugar de que se le indique explícitamente qué constituye una anomalía, el algoritmo construye una comprensión del comportamiento normal y resalta los puntos de datos que no caen dentro del rango esperado habitual. Esto hace que la detección de anomalías sea especialmente valiosa cuando las anomalías son raras, las etiquetas no están disponibles o los patrones normales son altamente dinámicos. Imagine un conjunto de datos de transacciones de tarjetas de crédito. La mayoría de las transacciones siguen un patrón típico en términos de monto, frecuencia y ubicación. Sin embargo, una compra repentina de alto valor en un país extranjero podría marcarse como una anomalía. Detectar esta anomalía en tiempo real puede prevenir el fraude, proteger a los clientes y ahorrar costos para las instituciones financieras. Nota: La función de Anomaly Detection está disponible en acceso anticipado en todos los centros de datos. Para usarla, solicite acceso a través de support@zohocatalyst.com Para conocer los algoritmos de ML utilizados en la detección de anomalías, consulte la documentación de ayuda de Algoritmos de Machine Learning para Detección de Anomalías. ### Impacto Empresarial de la Detección de Anomalías La detección de anomalías es un proceso crítico para el negocio que permite a las organizaciones proteger activos, mejorar operaciones y optimizar la toma de decisiones. A continuación se presentan algunas razones clave por las que la detección de anomalías es esencial en todas las industrias: - **Detección de fraude**: En finanzas y comercio electrónico, las anomalías a menudo corresponden a actividades fraudulentas. Por ejemplo, una compra de valor inusualmente alto realizada desde una ubicación extranjera, cuando se compara con el comportamiento de gasto habitual de un cliente, podría ser una señal temprana de fraude con tarjeta de crédito. Identificar estos patrones en tiempo real previene pérdidas financieras y protege la confianza del cliente. - **Mantenimiento predictivo**: En entornos de manufactura e industriales, las máquinas generan continuamente datos de sensores. Detectar anomalías en las lecturas de vibración, temperatura o presión puede indicar señales tempranas de desgaste mecánico o fallo. Predecir y abordar estas anomalías antes de que conduzcan a averías reduce significativamente el tiempo de inactividad y los costos de mantenimiento. - **Ciberseguridad y protección de redes**: La detección de anomalías ayuda a identificar irregularidades en registros del sistema, tráfico de red o actividad de usuarios que pueden indicar un ciberataque, violación de datos o acceso no autorizado. Por ejemplo, un aumento repentino en intentos de inicio de sesión o volumen de transferencia de datos puede revelar amenazas de seguridad que requieren atención inmediata. - **Salud y ciencias de la vida**: En el sector de salud, la detección de anomalías puede monitorear signos vitales de pacientes, resultados de laboratorio o datos de imágenes médicas para señalar riesgos potenciales de salud. Por ejemplo, una caída repentina en la saturación de oxígeno o un patrón irregular de latidos cardíacos puede alertar a los médicos para intervenir antes de que la condición se vuelva crítica. - **Información operativa y soporte a decisiones**: Las organizaciones pueden usar la detección de anomalías para descubrir información oculta que mejore la eficiencia y apoye la toma de decisiones. Por ejemplo, picos inusuales en el tráfico del sitio web pueden revelar el éxito de una campaña de marketing o intereses inesperados de los clientes. ### ¿Qué Causa las Anomalías en los Datos? Las anomalías en los datos pueden surgir de una variedad de causas subyacentes, que a menudo dependen de la naturaleza de los datos y el entorno en el que se recopilan. Los principales factores contribuyentes incluyen: - **Error humano**: Los errores de entrada manual de datos, el etiquetado incorrecto o la configuración inadecuada de los sistemas pueden introducir fácilmente irregularidades. Por ejemplo, un punto decimal mal colocado o un formato de fecha incorrecto puede distorsionar significativamente los resultados del análisis. Incluso descuidos simples, como olvidar actualizar un registro o duplicar entradas, pueden llevar a puntos de datos anómalos. - **Fallos del sistema**: Los mal funcionamientos de hardware, los errores de software o las interrupciones de comunicación entre sistemas pueden corromper o distorsionar los datos. Por ejemplo, una interrupción temporal de la red durante la transmisión de datos podría resultar en entradas incompletas o duplicadas, mientras que un error de software podría generar valores inesperados o inconsistencias. - **Actividad fraudulenta o maliciosa**: En áreas como finanzas, ciberseguridad o comercio electrónico, las anomalías a menudo señalan posible fraude o acceso no autorizado. Las transacciones de valor anormalmente alto, los patrones de inicio de sesión inusuales o los cambios repentinos en el comportamiento del usuario pueden indicar intentos deliberados de explotar o manipular el sistema. - **Cambios ambientales o externos**: Los cambios inesperados en las condiciones externas, como fluctuaciones económicas, volatilidad del mercado o cambios estacionales, pueden alterar los patrones normales de datos. Estos eventos introducen nuevas variables que causan desviaciones temporales o permanentes de las tendencias establecidas. ### Tipos de Detección de Anomalías Las anomalías se pueden categorizar en varios tipos dependiendo de la naturaleza y el contexto de los datos. Las siguientes secciones explican cada tipo en detalle con la correspondiente visualización y ejemplos conceptuales. 1. **Anomalías puntuales** Una anomalía puntual ocurre cuando una sola observación se desvía significativamente del resto de los datos. Estas son las anomalías más comunes y típicamente son fáciles de detectar. Por ejemplo, en un conjunto de datos de transacciones de tarjetas de crédito, una transacción repentina de alto valor puede ser marcada como una anomalía puntual si no se alinea con el comportamiento de gasto previo del usuario. Interpretación: El gráfico anterior ilustra cómo algunos puntos de datos se encuentran lejos del grupo principal de datos. Estos puntos de datos aislados son ejemplos claros de anomalías puntuales porque difieren sustancialmente de la mayoría de los puntos de datos normales. 2. **Anomalías contextuales** Una anomalía contextual es una observación que se considera anómala solo dentro de un contexto específico. Este tipo de anomalía es especialmente común en conjuntos de datos donde el mismo valor puede ser normal bajo ciertas condiciones pero anormal bajo otras. Por ejemplo, una lectura de temperatura de 10°C puede ser normal en invierno pero sería una anomalía en verano. De manera similar, una tienda en línea puede ver un alto número de compras durante las ventas de temporada festiva, pero el mismo número en un día ordinario podría señalar actividad sospechosa. Interpretación: El gráfico ilustra dos contextos distintos, cada uno representado por un grupo separado de puntos de datos. Estos grupos reflejan diferentes patrones o entornos en los que los datos se comportan normalmente. El punto resaltado se encuentra cerca de uno de los grupos, pareciendo normal cuando se compara con el conjunto de datos general o cuando se evalúa en el contexto del otro grupo. Sin embargo, dentro de su propio grupo (cuando se analiza en relación con las características específicas y la distribución de puntos en su contexto local), el punto destaca como inusual. Esta situación resalta una anomalía contextual, donde una observación se considera anómala solo dentro de un contexto particular o bajo condiciones específicas, aunque pueda parecer normal en un contexto más amplio o diferente. 3. **Anomalías colectivas** Una anomalía colectiva surge cuando un grupo de puntos de datos relacionados juntos se comportan de manera inusual, incluso si los puntos individuales parecen normales. Por ejemplo, en datos del mercado de valores, una caída consistente en el precio de las acciones de una empresa durante varios días consecutivos podría representar una anomalía colectiva, especialmente si este patrón se desvía de las fluctuaciones normales. Interpretación: El gráfico anterior muestra un pequeño grupo de puntos que forman un grupo distinto separado de la mayoría de los datos. Si bien cada punto individual dentro de este grupo puede parecer normal cuando se evalúa por sí solo, su comportamiento colectivo revela un patrón que se desvía significativamente de la distribución general. Esto indica la presencia de una anomalía colectiva, donde la anomalía no surge de puntos de datos individuales, sino de su relación entre sí y con el resto del conjunto de datos. ### Categorías de Detección de Anomalías En QuickML, hay dos categorías amplias de detección de anomalías: **Detección de anomalías en series temporales** y **Detección de anomalías en no series temporales**. Cada uno de estos enfoques se centra en identificar outliers en diferentes tipos de conjuntos de datos, dependiendo de si el tiempo juega un papel en la estructura de los datos. Aquí hay una tabla comparativa que muestra la diferencia entre la Detección de Anomalías en Series Temporales y No Series Temporales: <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">Característica</th> <th style="text-align:left; width:37.5%;">Detección de Anomalías en Series Temporales</th> <th style="text-align:left; width:37.5%;">Detección de Anomalías en No Series Temporales</th> </tr> </thead> <tbody> <tr> <td>Estructura de Datos</td> <td>Los puntos de datos están indexados por tiempo y siguen un orden secuencial.</td> <td>Los puntos de datos no están indexados por tiempo y se tratan como observaciones independientes.</td> </tr> <tr> <td>Dependencia Temporal</td> <td>Requiere algoritmos que tengan en cuenta las dependencias temporales, tendencias y estacionalidad.</td> <td>Asume que los puntos de datos son independientes sin relación temporal.</td> </tr> <tr> <td>Método de Detección</td> <td>Las anomalías se detectan comparando valores reales contra patrones históricos o pronósticos.</td> <td>Las anomalías se detectan evaluando la similitud o distancia entre puntos de datos en el espacio de características.</td> </tr> <tr> <td>Factores Influyentes</td> <td>Influenciado por la estacionalidad, tendencias y dependencias a largo plazo en el tiempo.</td> <td>Influenciado por las relaciones entre características y la distribución de datos a través de múltiples variables.</td> </tr> <tr> <td>Algoritmos Comunes</td> <td>ARIMA, LSTM Autoencoders, Prophet, Isolation Forest (basado en tiempo).</td> <td>Isolation Forest, One-Class SVM, DBSCAN, LOF.</td> </tr> <tr> <td>Casos de Uso de Ejemplo</td> <td>Monitoreo de precios de acciones, lecturas de sensores de máquinas, rendimiento de red a lo largo del tiempo.</td> <td>Detección de transacciones fraudulentas, productos defectuosos o comportamiento anormal de clientes.</td> </tr> <tr> <td>Enfoque Clave</td> <td>Se centra en desviaciones de patrones a lo largo del tiempo.</td> <td>Se centra en outliers basados en características sin considerar el tiempo.</td> </tr> </tbody> </table> Ahora que entendemos las diferencias clave entre la detección de anomalías en series temporales y no series temporales, exploremos cada uno de estos enfoques en profundidad para obtener una comprensión más clara y completa. ### Detección de Anomalías en Series Temporales La detección de anomalías en series temporales trata con datos que se recopilan y organizan de manera secuencial, donde cada punto de datos está asociado con una marca de tiempo específica. Este tipo de datos refleja cómo **los valores cambian a lo largo del tiempo**, como precios de acciones, métricas de rendimiento de servidores, lecturas de sensores o tráfico de sitios web. Debido a que el tiempo es una parte inherente del conjunto de datos, detectar anomalías implica analizar patrones temporales como tendencias, estacionalidad y desviaciones repentinas. En la detección de anomalías en series temporales, el objetivo es identificar momentos en los que el comportamiento de un sistema cambia inesperadamente en comparación con su patrón histórico. Estas anomalías pueden aparecer como picos repentinos, caídas bruscas o fluctuaciones irregulares que rompen el ritmo habitual de los datos. Los métodos de detección de anomalías en series temporales a menudo usan modelos de pronóstico que aprenden de tendencias pasadas para predecir valores futuros esperados. Si la observación real se desvía significativamente del valor predicho, el sistema lo marca como una anomalía. #### Construyendo Intuición Detrás de la Detección de Anomalías en Series Temporales En conjuntos de datos de series temporales, las observaciones están ordenadas en el tiempo, lo que significa que cada punto de datos puede depender de valores anteriores. Detectar anomalías implica comprender patrones temporales, tendencias y estacionalidad, además de las relaciones entre características. El objetivo es identificar puntos o períodos que se desvían del comportamiento temporal esperado. - **Perspectiva de patrón temporal**: Cada observación es parte de una secuencia, y los puntos normales siguen patrones predecibles a lo largo del tiempo, incluyendo tendencias, ciclos estacionales y fluctuaciones recurrentes. Las anomalías rompen estos patrones y destacan como puntos o secuencias inusuales que se desvían del comportamiento esperado. - **Consideración de tendencias y estacionalidad**: Los picos repentinos, caídas o cambios de tendencias establecidas a menudo indican anomalías. Es esencial tener en cuenta los cambios estacionales, porque las desviaciones solo pueden ser anómalas si violan los patrones estacionales esperados. Por ejemplo, un valor de ventas alto podría ser normal durante una temporada festiva pero anómalo durante un período típico de baja temporada. Modelar correctamente las tendencias y la estacionalidad permite al sistema distinguir entre variaciones esperadas y anomalías verdaderas. - **Dependencias contextuales**: El contexto basado en el tiempo es crítico porque el mismo valor puede ser normal en un punto del tiempo pero anómalo en otro, dependiendo de la secuencia circundante. Además, las relaciones entre múltiples variables dependientes del tiempo pueden revelar anomalías que podrían no ser aparentes al analizar una sola serie de forma aislada. Considerar estas dependencias temporales multivariadas mejora la precisión de detección al capturar patrones que emergen solo cuando se observan múltiples factores juntos. - **Densidad y distribución a lo largo del tiempo**: Las anomalías a menudo ocurren en regiones de baja probabilidad dentro de la distribución temporal esperada. Los puntos que se encuentran lejos del rango predicho o la línea base histórica pueden ser marcados como inusuales, y los enfoques probabilísticos como los procesos gaussianos o el modelado de distribución histórica pueden cuantificar estas desviaciones. Al comprender la densidad esperada de observaciones a lo largo del tiempo, el modelo puede asignar puntuaciones de anomalía que reflejen cuán improbable es cada punto en relación con el comportamiento temporal normal. #### Criterios Clave de Éxito para la Detección de Anomalías en Series Temporales La detección de anomalías en series temporales se centra en secuencias de puntos de datos a lo largo del tiempo. El éxito depende de capturar patrones temporales, tendencias y estacionalidad mientras se proporcionan información interpretable y accionable. Los criterios clave para el éxito incluyen: - **Comprensión de datos temporales**: Modelar con precisión tendencias, estacionalidad y dependencias a corto y largo plazo. Preparación de datos de calidad: Manejar marcas de tiempo faltantes, intervalos irregulares y tasas de muestreo inconsistentes. - **Ingeniería de características efectiva**: Incluir características de retardo, estadísticas móviles (media, varianza), diferencias o transformadas de Fourier para capturar el comportamiento temporal. - **Patrones históricos representativos**: Asegurar que los datos de entrenamiento reflejen variaciones temporales normales, incluyendo patrones estacionales raros, para reducir los falsos positivos. - **Selección robusta de modelos**: Elegir algoritmos capaces de capturar dependencias temporales, tendencias y estacionalidad. Por ejemplo, ARIMA, AutoRegressor, Auto ARIMA o SARIMA. #### Aplicaciones Empresariales de la Detección de Anomalías en Series Temporales La detección de anomalías en series temporales tiene aplicaciones de amplio alcance en todas las industrias, ayudando a las organizaciones a identificar patrones inusuales, prevenir fallos y tomar decisiones basadas en datos al monitorear cómo los valores evolucionan a lo largo del tiempo. 1) **Finanzas y banca** La detección de anomalías en series temporales en finanzas y banca se utiliza para monitorear secuencias de transacciones en busca de patrones inusuales que puedan indicar fraude u otras actividades irregulares. Los picos repentinos en transferencias, los comportamientos comerciales anormales o las actividades atípicas de cuentas pueden ser marcados en tiempo real, permitiendo a los bancos e instituciones financieras investigar comportamientos sospechosos de manera oportuna. Al analizar los patrones temporales de las transacciones, los modelos pueden distinguir entre actividad legítima estacional o cíclica y anomalías genuinas que requieren atención. 2) **IoT y operaciones industriales** En IoT y operaciones industriales, la detección de anomalías en series temporales juega un papel crítico en el monitoreo de equipos y procesos de producción. Las lecturas de sensores recopiladas a lo largo del tiempo pueden revelar señales tempranas de fallo de máquinas, desviaciones en el rendimiento o ineficiencias en las líneas de producción. Al identificar estas anomalías tempranamente, las organizaciones pueden programar mantenimiento predictivo antes de que ocurran averías, reducir el tiempo de inactividad y mantener la eficiencia operativa óptima. Detectar patrones temporales irregulares también ayuda a prevenir interrupciones costosas y asegura la longevidad de los equipos. 3) **Retail y Comercio Electrónico** La detección de anomalías en series temporales también es valiosa en retail y comercio electrónico para monitorear ventas, devoluciones y actividad del sitio web a lo largo del tiempo. Caídas o picos repentinos en estas métricas pueden apuntar a problemas operativos, cambios en el comportamiento del cliente o actividad fraudulenta. Al analizar los patrones temporales, las empresas pueden distinguir entre fluctuaciones estacionales normales y anomalías verdaderas, permitiendo una respuesta más rápida a eventos inesperados, mejorando la experiencia del cliente y optimizando las decisiones operativas. #### Pronóstico Univariado vs Multivariado en Series Temporales En la detección de anomalías en series temporales, los datos que se analizan pueden ser **univariados** o **multivariados**, dependiendo del número de variables rastreadas a lo largo del tiempo. En QuickML, los datos se categorizan de esta manera para asegurar que los modelos se apliquen apropiadamente: el pronóstico univariado es más simple y computacionalmente eficiente para tendencias de una sola variable, mientras que el pronóstico multivariado es necesario cuando las anomalías surgen de interacciones entre múltiples características, que podrían pasarse por alto en un enfoque univariado. Esta distinción le ayuda a elegir la estrategia de modelado y representación de características correcta para una detección precisa de anomalías, ya sea que el enfoque esté en una sola métrica o en patrones complejos a través de varias variables interdependientes. Es importante entender la diferencia entre datos univariados y multivariados, ya que esta elección impacta directamente en cómo se detectan e interpretan las anomalías en el análisis de series temporales. <table class="content-table" style="width:100%;"> <thead> <tr> <th style="text-align:left; width:25%;">Característica</th> <th style="text-align:left; width:37.5%;">Datos Univariados</th> <th style="text-align:left; width:37.5%;">Datos Multivariados</th> </tr> </thead> <tbody> <tr> <td>Definición</td> <td>Rastrea una sola variable a lo largo del tiempo.</td> <td>Rastrea múltiples variables interrelacionadas a lo largo del tiempo y pronostica una sola variable objetivo mientras tiene en cuenta sus dependencias con otras variables relacionadas (pronóstico multivariado), similar a cómo operan los modelos predictivos tradicionales.</td> </tr> <tr> <td>Enfoque</td> <td>Monitorea tendencias, estacionalidad y fluctuaciones de una métrica.</td> <td>Monitorea patrones e interacciones entre múltiples métricas simultáneamente.</td> </tr> <tr> <td>Detección de Anomalías</td> <td>Marca desviaciones en la variable única del comportamiento esperado.</td> <td>Marca anomalías basadas en irregularidades en las relaciones entre variables, capturando patrones que pueden no aparecer de forma aislada.</td> </tr> <tr> <td>Complejidad</td> <td>Más simple y computacionalmente eficiente.</td> <td>Más complejo, requiere modelar dependencias e interacciones entre variables.</td> </tr> <tr> <td>Casos de Uso</td> <td>Tráfico de sitios web, ventas diarias, consumo de electricidad, monitoreo de ingresos.</td> <td>Análisis de retail (ventas vs gasto en marketing), análisis del mercado de valores (precio, volumen, volatilidad), monitoreo de salud (frecuencia cardíaca, presión arterial, niveles de oxígeno).</td> </tr> <tr> <td>Fortalezas</td> <td>Fácil de implementar e interpretar; bueno para monitoreo de una sola métrica.</td> <td>Detecta anomalías sutiles que surgen de interacciones entre variables; captura patrones complejos.</td> </tr> </tbody> </table> #### Cómo Funciona la Detección de Anomalías en Series Temporales Repasemos la detección de anomalías en series temporales usando el modelo ARIMA (AutoRegressive Integrated Moving Average), uno de los métodos basados en pronóstico más ampliamente utilizados. 1) **Comprender los datos de series temporales** El proceso comienza con la recopilación de puntos de datos secuenciales, donde cada valor está vinculado a una marca de tiempo específica, por ejemplo, visitas diarias al sitio web, lecturas de temperatura por hora o precios de acciones minuto a minuto. Debido a que el tiempo es un factor esencial, patrones como tendencias (crecimiento o declive general) y estacionalidad (ciclos repetidos) son importantes de identificar. 2) **Entrenar el modelo de pronóstico** ARIMA aprende de los datos históricos de series temporales para comprender sus patrones subyacentes. Combina tres componentes: - **AR (AutoRegressive)**: Usa valores pasados para predecir valores futuros. - **I (Integrated)**: Hace los datos estacionarios eliminando tendencias. - **MA (Moving Average)**: Usa errores de pronóstico pasados para refinar predicciones. El modelo se entrena para capturar cómo los datos usualmente se comportan a lo largo del tiempo. 3) **Generar valores pronosticados** Después del entrenamiento, ARIMA predice cómo deberían verse los próximos puntos de datos basándose en patrones históricos. Para cada marca de tiempo, el modelo produce un valor esperado (pronosticado) y un intervalo de confianza, que representa el rango normal de variación. 4) **Comparar valores reales vs. predichos** El valor real observado del conjunto de datos se compara entonces con el valor predicho del modelo. Si el valor observado se encuentra muy fuera del rango esperado (por ejemplo, mucho más alto o más bajo que la banda de confianza pronosticada), se considera un punto anómalo. 5) **Detectar y reportar anomalías** Una vez que se analiza toda la serie temporal, el sistema marca las marcas de tiempo donde ocurren desviaciones significativas. Por ejemplo, un pico repentino en el tráfico de red podría indicar un ciberataque. La salida típicamente resalta estas marcas de tiempo y muestra el número de anomalías detectadas para investigación posterior. Ejemplo: Imagine una empresa monitoreando el tráfico por hora de su sitio web. ARIMA predice que la próxima hora debería tener alrededor de 1,200 ± 100 visitas, pero el conteo real cae repentinamente a 400. Dado que este valor se encuentra muy fuera del rango esperado, el sistema lo marca como una anomalía, impulsando a la empresa a investigar posibles causas como una caída del servidor o un problema de conectividad. #### Pasos para Construir un Pipeline de Detección de Anomalías en Series Temporales En QuickML, la detección de anomalías en series temporales se implementa a través del **Smart Builder**, que está diseñado específicamente para conjuntos de datos donde las observaciones se realizan a lo largo del tiempo. El Smart Builder estructura este proceso en cuatro stages principales: **Source → Preprocessing → Algorithm → Destination**. **Stage 1: Source** El pipeline comienza con la ingesta del conjunto de datos de series temporales, como precios de acciones, lecturas de sensores de máquinas o ventas diarias. Dado que estos conjuntos de datos son secuenciales, seleccionar la entrada correcta basada en el tiempo asegura que el sistema pueda detectar anomalías en relación con los patrones históricos. **Stage 2: Preprocessing** Smart Builder prepara automáticamente los datos sin procesar basados en el tiempo para la detección de anomalías. **Frecuencia**: Para conjuntos de datos de series temporales, los datos se remuestrean a una frecuencia consistente (por ejemplo, diaria, semanal). Esta estandarización asegura que las anomalías se detecten a través de intervalos uniformes en lugar de ser distorsionadas por marcas de tiempo irregulares. **Imputación**: Los valores faltantes en el conjunto de datos se manejan a través de imputación. Sin este paso, los vacíos pueden ser mal interpretados como anomalías o distorsionar la capacidad del modelo para reconocer patrones verdaderos. **Transformación**: La transformación asegura que el conjunto de datos se ajuste para que las anomalías destaquen más claramente en lugar de estar ocultas por tendencias o efectos de escala. En Smart Builder, este paso se puede configurar directamente, y los usuarios tienen dos opciones principales: **Differencing** o **Power Transformation**. - **Differencing**: Differencing funciona calculando la diferencia entre observaciones consecutivas en una serie temporal. Este proceso ayuda a estabilizar la media eliminando cambios en el nivel de la serie, reduciendo o eliminando efectivamente tendencias y estacionalidad. El orden de diferenciación especifica cuántas veces se aplica esta operación para transformar una serie no estacionaria en una estacionaria. En QuickML, puede especificar un orden máximo de diferenciación de hasta 5. Si la serie permanece no estacionaria incluso después del quinto orden de diferenciación, puede aplicar uno de los métodos de transformación de potencia disponibles para estabilizar aún más la varianza y hacer que la serie sea adecuada para la detección de anomalías. - **Power Transformation**: Estabiliza la varianza y normaliza las distribuciones de datos sesgadas. Esto es especialmente útil cuando los valores de datos sin procesar están distribuidos en escalas muy diferentes, haciendo que las anomalías en valores más pequeños sean más difíciles de detectar. Las opciones disponibles para transformación de potencia en QuickML son: - **Log Transformation**: Aplica una escala logarítmica para comprimir valores grandes y extender los más pequeños. Esto ayuda a revelar anomalías que de otro modo podrían ser opacadas por outliers extremos. - **Square Root Transformation**: Útil cuando se trata con sesgo moderado; reduce el impacto de valores altos mientras retiene las diferencias relativas a través de valores más pequeños. - **Box-Cox Transformation**: Una opción flexible que determina automáticamente el mejor parámetro de potencia (λ) para estabilizar la varianza y normalizar el conjunto de datos. Particularmente efectiva cuando los valores son estrictamente positivos y la distribución está fuertemente sesgada. - **Yeo-Johnson Transformation**: Similar a Box-Cox pero también funciona con valores cero o negativos, haciéndola más versátil para conjuntos de datos que no son estrictamente positivos. **Stage 3: Algorithm** Una vez preprocesado, Smart Builder aplica algoritmos diseñados para la detección de anomalías en series temporales, como Isolation Forest o One-Class SVM. Estos modelos aprenden el comportamiento temporal normal y marcan las desviaciones como anomalías potenciales, ya sea que aparezcan como picos repentinos, caídas o secuencias irregulares. **Stage 4: Destination** Finalmente, Smart Builder genera anomalías junto con métricas de apoyo y visualizaciones. Estos resultados permiten a los usuarios validar las anomalías marcadas, interpretar el contexto y tomar acciones oportunas. El sistema asegura que las anomalías se presenten en un formato accesible para una toma de decisiones más rápida. ### Detección de Anomalías en No Series Temporales La detección de anomalías en no series temporales trata con datos que no tienen un orden temporal inherente, lo que significa que los puntos de datos individuales son independientes del tiempo o la secuencia. Cada observación se trata como una instancia independiente en lugar de parte de una línea de tiempo continua. Los ejemplos incluyen transacciones de tarjetas de crédito, registros médicos, paquetes de red, reseñas de productos o mediciones de manufactura. En la detección de anomalías en no series temporales, el objetivo es identificar puntos de datos que se comportan de manera diferente a la mayoría del conjunto de datos. Dado que no hay un componente temporal, detectar anomalías en datos no secuenciales se centra en patrones espaciales, relacionales o estadísticos en lugar de temporales. Los métodos analizan la distribución y estructura de los datos, midiendo cuán lejos se desvía cada punto de la población normal. #### Construyendo Intuición Detrás de la Detección de Anomalías en No Series Temporales En conjuntos de datos de no series temporales, las observaciones son estáticas e independientes del tiempo. Detectar anomalías implica comprender las relaciones entre múltiples características. El objetivo es definir el límite que separa el comportamiento normal del comportamiento anormal. - **Perspectiva del espacio de características**: Cada observación se puede visualizar como un punto en un espacio de alta dimensión. Los puntos normales se agrupan juntos, mientras que las anomalías se encuentran lejos de estos grupos. - **Pensamiento basado en densidad**: Las anomalías a menudo ocurren en regiones de baja densidad donde existen pocos puntos de datos. Los algoritmos usan esta intuición para asignar puntuaciones de anomalía. - **Dependencias multivariadas**: Se deben considerar las relaciones entre múltiples características. Un punto podría parecer normal a lo largo de dimensiones individuales pero ser anómalo cuando se combina con otras características. - **Consciencia del contexto**: En datos categóricos o agrupados, la normalidad puede variar entre grupos. Comprender esta variación contextual es esencial para una detección precisa. #### Criterios Clave de Éxito para la Detección de Anomalías en No Series Temporales La detección de anomalías en no series temporales se centra en puntos de datos estáticos o independientes en lugar de secuencias a lo largo del tiempo. El éxito depende de identificar con precisión patrones anormales dentro de estos conjuntos de datos estáticos, comprender las relaciones entre características y proporcionar información interpretable y accionable. Los criterios clave para el éxito incluyen: - **Preparación de datos de calidad**: Asegurar que los datos estén limpios, consistentes y sean representativos del comportamiento normal. - **Ingeniería de características efectiva**: Elegir características que capturen variaciones significativas en el comportamiento. Combinar atributos numéricos y categóricos proporciona una representación más rica de la normalidad. - **Muestras normales representativas**: Los datos de entrenamiento deben cubrir el rango completo de patrones legítimos para prevenir la clasificación errónea de variaciones válidas como anomalías. - **Selección robusta de modelos**: El algoritmo elegido debe manejar ruido, outliers y diferentes distribuciones de datos. #### Aplicaciones Empresariales de la Detección de Anomalías en No Series Temporales La detección de anomalías en no series temporales se aplica en muchas industrias para identificar puntos de datos o comportamientos inusuales que se desvían de los patrones normales. Debido a que este tipo de datos no depende del tiempo, ayuda a las organizaciones a detectar eventos raros o sospechosos y fortalecer la toma de decisiones en una amplia gama de operaciones. 1) **Salud** En el sector salud, la detección de anomalías en no series temporales se utiliza para encontrar registros de pacientes o resultados diagnósticos inusuales que pueden indicar errores, enfermedades raras o potencial fraude en reclamaciones de seguros. Por ejemplo, un número inusualmente alto de procedimientos para un solo paciente o resultados de pruebas médicas que difieren mucho de los rangos normales pueden ser marcados para revisión adicional. Detectar estas irregularidades ayuda a mejorar la seguridad del paciente, reducir el fraude de facturación y mantener la precisión de datos en sistemas médicos. 2) **Recursos Humanos y Reclutamiento** En RR.HH. y reclutamiento, la detección de anomalías puede ayudar a identificar datos inusuales de empleados, como niveles salariales inesperados, métricas de rendimiento inconsistentes o patrones de solicitud irregulares. Detectar estos outliers ayuda a las organizaciones a mantener la equidad, detectar errores de datos y prevenir posibles violaciones de políticas. También asiste en identificar talento excepcional o señales tempranas de problemas en la fuerza laboral. 3) **Ciberseguridad** En ciberseguridad, la detección de anomalías ayuda a identificar actividades de red sospechosas o patrones de acceso al sistema que difieren del comportamiento típico del usuario. Por ejemplo, un intento de inicio de sesión desde una ubicación inusual, acceso no autorizado a datos o transferencias de archivos anormales pueden indicar posibles ciberataques o amenazas internas. Al analizar las relaciones y características de los datos de red, los sistemas de seguridad pueden detectar y responder a amenazas rápidamente, incluso sin depender de secuencias basadas en el tiempo. #### Cómo Funciona la Detección de Anomalías en No Series Temporales Ahora, entendamos la detección de anomalías en no series temporales usando el algoritmo Isolation Forest, un método popular que funciona bien para datos tabulares de alta dimensión. 1) **Comprender el conjunto de datos** En datos de no series temporales, cada registro se trata como una observación independiente con múltiples características (por ejemplo, edad del cliente, ingresos y puntuación de gasto). No hay marca de tiempo ni orden secuencial; el objetivo es simplemente encontrar puntos de datos que se vean muy diferentes de la mayoría. 2) **Construir árboles aleatorios** Isolation Forest crea muchos árboles de decisión aleatorios dividiendo repetidamente el conjunto de datos en secciones más pequeñas. Cada división selecciona aleatoriamente una característica y un valor de división. La idea es que los puntos de datos normales necesitan más divisiones para ser aislados, mientras que las anomalías, siendo raras y diferentes, se aíslan rápidamente con menos divisiones. 3) **Medir la profundidad de aislamiento** Para cada punto de datos, el algoritmo calcula el número promedio de divisiones (longitud del camino) necesarias para aislarlo a través de todos los árboles. - Si un punto se aísla rápidamente, es probable que sea una anomalía. - Si requiere muchas divisiones, se considera normal. 4) **Calcular puntuaciones de anomalía** Luego se calcula una puntuación de anomalía para cada registro basándose en su longitud de camino promedio. Los valores más cercanos a 1 indican anomalías más fuertes, mientras que los valores cercanos a 0 sugieren comportamiento normal. 5) **Detectar y reportar anomalías** Finalmente, el modelo clasifica los registros con puntuaciones de anomalía altas como outliers y reporta el número de anomalías detectadas en el conjunto de datos. Estos puntos pueden ser examinados para entender por qué difieren de la norma, por ejemplo, transacciones fraudulentas o errores de entrada de datos. Ejemplo: Imagine un banco analizando transacciones de clientes. La mayoría de los clientes gastan cantidades entre $50 y $500, pero algunas transacciones aparecen repentinamente a $10,000+. Isolation Forest aísla estas transacciones de alto valor con muy pocas divisiones, las marca como anomalías y reporta cuántos casos sospechosos existen, ayudando al banco a enfocarse en posible fraude. #### Pasos para Construir un Pipeline de Detección de Anomalías en No Series Temporales Para datos de no series temporales, como transacciones de clientes, registros de empleados o respuestas de encuestas, los pipelines de detección de anomalías se construyen usando **Classic Builder**. Aquí, el proceso omite la alineación de frecuencia y las transformaciones temporales, ya que los datos no son secuenciales. En cambio, Classic Builder prepara directamente los datos tabulares, aplica algoritmos y genera anomalías que resaltan registros inusuales o sospechosos. Al separar Smart Builder para datos de series temporales y Classic Builder para datos de no series temporales, QuickML asegura que cada pipeline de detección de anomalías esté adaptado a la estructura única del conjunto de datos, mejorando tanto la precisión como la interpretabilidad. **Stage 1: Ingesta de datos** El proceso comienza con la carga del conjunto de datos en QuickML, que sirve como base para el flujo de trabajo de detección de anomalías. Este paso implica importar datos de varias fuentes como archivos CSV, bases de datos relacionales, APIs o sistemas de almacenamiento en la nube. Dado que los datos de no series temporales no dependen del orden temporal, cada registro se trata como una observación independiente. Asegurar una ingesta de datos precisa y completa es crítico para resultados confiables de detección de anomalías. **Stage 2: Preprocesamiento de datos** Una vez que los datos se importan, pasan por una fase de preprocesamiento para asegurar precisión, consistencia y preparación para el análisis. Este paso incluye el manejo de valores faltantes a través de imputación o eliminación y la codificación de variables categóricas usando codificación de etiquetas o one-hot. Un preprocesamiento efectivo asegura que las anomalías reflejen irregularidades verdaderas en lugar de problemas de calidad de datos, mejorando el rendimiento y la interoperabilidad del modelo de detección. **Stage 3: Selección de algoritmo** Después del preprocesamiento, QuickML permite a los usuarios seleccionar un algoritmo de detección de anomalías apropiado basado en las características del conjunto de datos y la naturaleza de las anomalías esperadas. Los enfoques comunes incluyen Isolation Forest, One-Class SVM y Local Outlier Factor (LOF). Cada algoritmo usa diferentes principios para distinguir datos normales de anomalías. Elegir el método correcto es crucial para capturar con precisión los patrones y relaciones únicos dentro del conjunto de datos. **Stage 4: Entrenamiento del modelo y detección** En este paso, el algoritmo seleccionado se entrena con los datos procesados para aprender el comportamiento o estructura normal del conjunto de datos. Durante el entrenamiento, el modelo identifica patrones típicos, límites o distribuciones y luego evalúa cada instancia para detectar aquellas que se desvían significativamente de las normas aprendidas. **Stage 5: Reporte de anomalías** Después de que el modelo identifica las anomalías, QuickML resume los resultados mostrando el número de anomalías detectadas en el conjunto de datos. Esta salida proporciona una vista clara de cuántos puntos de datos se desvían de los patrones normales basándose en el modelo entrenado. ### Métricas de Evaluación en la Detección de Anomalías Las métricas de evaluación a continuación ayudan a evaluar qué tan bien el modelo de detección de anomalías está identificando desviaciones del comportamiento normal y qué tan precisas son sus predicciones subyacentes. Estas métricas cuantifican el error de predicción, la confiabilidad del modelo y, en última instancia, la confianza que puede depositar en las anomalías marcadas. #### Error Porcentual Absoluto Medio (MAPE) **Qué le dice**: MAPE mide cuán lejos, en promedio, los valores predichos del modelo se desvían de los valores reales observados en términos porcentuales. Expresa el tamaño de los errores de predicción en relación con la magnitud de los datos reales, lo que lo hace intuitivo y fácil de interpretar a través de diferentes conjuntos de datos o escalas. Esta métrica es particularmente útil cuando necesita entender qué tan precisas son las predicciones de su modelo en términos de desviación porcentual en lugar de diferencia absoluta. **Intuición**: - Un MAPE más bajo indica que las predicciones del modelo están más cerca de los valores verdaderos. - Un MAPE muy alto generalmente señala poca precisión del modelo — o que los valores reales son muy pequeños, lo que infla los errores porcentuales. **Ejemplo de Inferencia**: Si MAPE es **15%**, significa que las predicciones se desvían de los valores reales en un 15% en promedio. #### Error Porcentual Absoluto Medio Simétrico (SMAPE) **Qué le dice**: SMAPE mejora respecto a MAPE al tratar las sobrepredicciones y subpredicciones de manera igual. Esto lo convierte en una medida más justa y equilibrada, especialmente cuando su conjunto de datos contiene valores pequeños o cero que pueden distorsionar los errores porcentuales tradicionales. SMAPE expresa cuán grandes son los errores de predicción en comparación con el promedio de los valores predichos y reales, asegurando que la métrica permanezca estable incluso cuando los valores reales están cerca de cero. **Intuición**: - SMAPE varía entre 0% (predicción perfecta) y 200% (completamente inexacto). - Se prefiere sobre MAPE cuando su conjunto de datos contiene valores muy pequeños o cero para evitar errores desproporcionadamente grandes. **Ejemplo de Inferencia**: Un SMAPE de **18.68%** indica que, en promedio, las predicciones se desvían un 18.68% de los valores reales de manera simétrica, lo cual es un nivel de error razonablemente aceptable para muchas tareas de detección de anomalías del mundo real. #### Error Cuadrático Medio (MSE) **Qué le dice**: MSE calcula el promedio de las diferencias al cuadrado entre los valores predichos y reales. Al elevar al cuadrado los errores, enfatiza las desviaciones grandes, lo que significa que los errores grandes tienen un impacto mucho más fuerte en la puntuación. Esto hace que MSE sea valioso para entender cuán significativamente varían los errores de predicción a través del conjunto de datos y para identificar modelos que puedan estar cometiendo errores grandes y costosos. **Intuición**: - Un MSE de 0 significa predicciones perfectas. - Valores de MSE más altos indican un mayor nivel de error de predicción. - Debido a que los errores se elevan al cuadrado, las desviaciones grandes contribuyen desproporcionadamente, haciendo que MSE sea sensible a los outliers. **Ejemplo de Inferencia**: En la salida proporcionada, MSE es **0**, lo que significa que las predicciones del modelo coinciden exactamente con los valores observados, lo cual es un caso ideal. #### Raíz del Error Cuadrático Medio (RMSE) **Qué le dice**: RMSE es la raíz cuadrada de MSE y proporciona una medida de error en la misma unidad que los datos originales, haciéndola más interpretable. Representa la desviación estándar de los errores de predicción, o cuán dispersos están los residuos alrededor de los valores verdaderos. RMSE es especialmente útil cuando se comparan modelos o se evalúa la consistencia de las predicciones. **Intuición**: - RMSE es más fácil de interpretar que MSE porque se expresa en la misma unidad que la variable predicha. - Un RMSE más bajo significa mejor precisión de predicción. **Ejemplo de Inferencia**: Un RMSE de **0.0041** indica que, en promedio, el error de predicción es muy pequeño y cercano a los valores verdaderos. #### Error Logarítmico Cuadrático Medio (MSLE) **Qué le dice**: MSLE mide la diferencia al cuadrado entre los logaritmos de los valores predichos y reales. En lugar de centrarse en diferencias absolutas, enfatiza los errores relativos, haciéndolo ideal para datos que abarcan múltiples escalas o involucran crecimiento exponencial (por ejemplo, población, ventas o tráfico web). MSLE recompensa las predicciones que están proporcionalmente cerca de los valores reales y penaliza la subestimación más fuertemente que la sobreestimación, lo cual es útil cuando perder un pico es más grave que sobrepredicir uno. **Intuición**: - MSLE penaliza la subestimación más que la sobreestimación. - Mejor utilizado cuando sus datos abarcan múltiples órdenes de magnitud (por ejemplo, patrones de crecimiento exponencial). **Ejemplo de Inferencia**: Un MSLE de **0** indica alineación perfecta entre valores predichos y reales en escala logarítmica, lo que significa que no hay sub o sobrepredicción significativa. #### Raíz del Error Logarítmico Cuadrático Medio (RMSLE) **Qué le dice**: RMSLE es la raíz cuadrada de MSLE, haciéndola más fácil de interpretar mientras retiene su enfoque en la precisión predictiva relativa. Ayuda a evaluar cuánto difieren las predicciones del modelo de los valores reales en términos similares a porcentajes sin ser excesivamente influenciada por grandes outliers. RMSLE es particularmente útil para problemas donde las diferencias relativas de crecimiento o proporcionales son más importantes que la precisión numérica exacta. **Intuición**: - RMSLE es menos sensible a errores absolutos grandes pero enfatiza la precisión relativa. - Particularmente útil cuando las diferencias porcentuales importan más que las diferencias brutas. **Ejemplo de Inferencia**: Un RMSLE de **0.0041** indica que, en una escala logarítmica, los errores de predicción son extremadamente bajos, confirmando un pronóstico de alta calidad. #### Número de Anomalías **Qué le dice**: Esta métrica representa el conteo de puntos de datos marcados como anomalías por el modelo después de procesar el conjunto de datos. Proporciona una medida directa de cuán frecuentemente el sistema detecta desviaciones del comportamiento normal. **Intuición**: - Un número muy alto de anomalías podría indicar que el modelo es demasiado sensible (muchos falsos positivos). - Un número muy bajo podría significar que el modelo es demasiado estricto y está perdiendo anomalías significativas. **Ejemplo de Inferencia**: Si el modelo detecta **42** anomalías, puede revisarlas para asegurar que correspondan a eventos significativos, como picos repentinos de demanda o fallos de sensores, y no a ruido aleatorio. **Cómo usar estas métricas juntas** Ninguna métrica individual cuenta la historia completa del rendimiento del modelo. Úselas colectivamente para obtener una visión holística; las métricas de error de predicción (MAPE, SMAPE, MSE, RMSE, MSLE, RMSLE) indican cuán precisamente el modelo pronostica el comportamiento normal, mientras que el número de anomalías muestra cuán frecuentemente el modelo marca desviaciones. **Ejemplo**: Suponga que su modelo tiene un RMSE de 0.0041, un MAPE de 15% y detecta 42 anomalías en un conjunto de datos. El bajo RMSE y el MAPE moderado indican que las predicciones están muy cerca de los valores reales, y el número de anomalías es razonable, sugiriendo que el modelo es preciso y apropiadamente sensible. Si en cambio el modelo marcara 300 anomalías, podría sospechar que es demasiado sensible y produce muchos falsos positivos. Interpretar estas métricas juntas ayuda a equilibrar la precisión de predicción con la detección significativa de anomalías, dándole confianza en información accionable. Nota: Para la detección de anomalías en no series temporales, la evaluación se centra solo en el número de anomalías detectadas, ya que no hay predicciones dependientes del tiempo involucradas. Métricas como MAPE, MSE o RMSE no son aplicables porque el modelo no pronostica valores secuenciales. ### Evaluación Visual de Anomalías La evaluación visual es un paso crucial para validar el rendimiento de un modelo de detección de anomalías en series temporales. Permite una evaluación cualitativa de las salidas del modelo comparando las anomalías predichas contra el comportamiento real de la serie temporal. Esta visualización permite a los usuarios: - Validar rápidamente si las anomalías detectadas se alinean con cambios reales en los datos. - Identificar falsas alarmas o anomalías perdidas. - Obtener información sobre la confiabilidad del modelo a través de diferentes segmentos temporales y tendencias. **Qué le dice**: Esta visualización muestra cómo el modelo identifica anomalías en un conjunto de datos de series temporales. El gráfico traza los valores de datos reales a lo largo del tiempo, resalta el rango esperado (normal) y marca los puntos que se desvían significativamente como anomalías. **Intuición**: - **Línea verde**: Representa los valores reales observados a lo largo del tiempo. - **Área sombreada gris**: Indica el rango esperado o predicho de comportamiento normal basándose en el modelo. - **Círculos rojos**: Resaltan los puntos detectados como anomalías, donde los valores reales se desvían significativamente del rango esperado. - Si los puntos de anomalía rojos se alinean con picos claros, caídas o desviaciones fuera del rango esperado gris, indica que el modelo está capturando con precisión los patrones inusuales. - Pocas anomalías bien ubicadas sugieren que el modelo es estable y preciso. - Puntos de anomalía frecuentes o aleatorios dentro de regiones normales pueden indicar un umbral excesivamente sensible o ruido en la detección. **Ejemplo**: Si las anomalías aparecen en picos agudos de la serie (por ejemplo, aumentos repentinos en los valores), sugiere outliers genuinos o eventos inesperados. Si las anomalías aparecen durante fluctuaciones normales, puede indicar que el modelo necesita ajuste del umbral para reducir los falsos positivos. ### Operaciones en QuickML -------------------------------------------------------------------------------- title: "Codificación" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/operations-in-quickml/encoding/" service: "QuickML" -------------------------------------------------------------------------------- # Operaciones en QuickML El preprocesamiento de datos es el paso en el cual los datos se transforman o codifican para ayudar a la máquina a analizarlos. En otras palabras, las características de los datos ahora pueden ser fácilmente interpretadas por el algoritmo. 1. **Encoding** 2. **Feature Engineering** 3. **Imputation** 4. **Normalization** 5. **Transformers** # Encoding Encoding es una técnica de convertir variables categóricas (discretas) en valores numéricos (continuos) para que puedan ajustarse fácilmente a un modelo de aprendizaje automático. 1. ### Ordinal Encoder Un ordinal encoding implica mapear cada etiqueta única a un valor entero. Este tipo de encoding solo es realmente apropiado si existe una relación conocida entre las categorías. Si los datos están ordenados, podemos usar ordinal encoding.\ **Ejemplo:**\ Para valores de temperatura, Low, Normal y High, podemos usar ordinal encoding. Después del encoding, los datos se verán como 0,1,2.(0-->Low temp,2-->High temp). Ordinal encoding usa una sola columna de enteros para representar las clases. Se puede pasar un diccionario de mapeo opcional. En este caso, usamos el conocimiento de que existe un orden verdadero en las clases mismas. De lo contrario, se asume que las clases no tienen un orden verdadero y los enteros se seleccionan aleatoriamente. 2. ### One-Hot Encoding Usamos esta técnica de codificación de datos categóricos cuando las características son nominales (no tienen ningún orden). En one-hot encoding, para cada nivel de una característica categórica, creamos una nueva variable. Cada categoría se mapea con una variable binaria que contiene 0 o 1. Aquí, 0 representa la ausencia y 1 representa la presencia de esa categoría. Si la característica categórica no es ordinal (datos ordenados) y el número de categorías en las características categóricas es bajo, el one-hot encoding se puede aplicar efectivamente. **Entrada de ejemplo:** <table class="content-table" style="width:200px;"> <thead> <tr> <th style="text-align:center">color</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">blue</td> </tr> <tr> <td style="text-align:center">red</td> </tr> <tr> <td style="text-align:center">green</td> </tr> </tbody> </table> **Salida de ejemplo:** <table class="content-table" style="width:500px;"> <thead> <tr> <th style="text-align:center">color_blue</th> <th style="text-align:center">color_red</th> <th style="text-align:center">color_green</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">1</td> <td style="text-align:center">0</td> <td style="text-align:center">0</td> </tr> <tr> <td style="text-align:center">0</td> <td style="text-align:center">1</td> <td style="text-align:center">0</td> </tr> <tr> <td style="text-align:center">0</td> <td style="text-align:center">0</td> <td style="text-align:center">1</td> </tr> </tbody> </table> 3. ### JamesStein Encoder Para el valor de la característica, el estimador James-Stein devuelve un promedio ponderado de: 1. El valor medio del objetivo para el valor de característica observado. 2. El valor medio del objetivo (independientemente del valor de la característica). 4. ### Label Encoding Se utiliza para convertir una columna objetivo categórica en una columna numérica asignando un entero único o etiqueta numérica a cada categoría en la variable categórica. Es importante notar que el encoding introduce un orden a las variables categóricas, lo que puede no ser útil en todos los casos. Es apropiado para variables ordinales donde existe un orden o clasificación inherente entre las categorías. 5. ### LeaveOneOut Encoder El encoding Leave One Out esencialmente calcula la media de las variables objetivo para todos los registros que contienen el mismo valor para la variable de característica categórica en cuestión. El algoritmo de encoding es ligeramente diferente entre el conjunto de datos de entrenamiento y el de prueba. Para los conjuntos de datos de entrenamiento, el registro en consideración se excluye, de ahí el nombre leave one out. 6. ### Target Encoding En target encoding, calculamos la media de la variable objetivo para cada categoría y reemplazamos la variable de categoría con el valor medio. En el caso de las variables objetivo categóricas, la probabilidad posterior del objetivo reemplaza cada categoría.\ Target encoding es el proceso de reemplazar un valor categórico con la media de la variable objetivo. Cualquier columna no categórica se elimina automáticamente por el modelo de target encoder. 7. ### Count Encoder Count encoding se basa en reemplazar las categorías con sus conteos calculados en el conjunto de entrenamiento. Los conteos pueden ser iguales para algunas de las variables, lo que puede resultar en colisión, codificando dos categorías con el mismo valor. Count encoder se puede utilizar si los conteos de las categorías no son iguales. <table class="content-table" style="width:600px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">10</td> <td style="text-align:center">20</td> <td style="text-align:center">30</td> <td style="text-align:center">30</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">2</td> <td style="text-align:center">2</td> <td style="text-align:center">1</td> <td style="text-align:center">3</td> <td style="text-align:center">3</td> <td style="text-align:center">3</td> </tr> <tbody> </tbody> </table> 8. ### Backward Difference Encoding En backward difference coding, la media de la variable dependiente para un nivel se compara con la media de la variable dependiente para el nivel anterior. Este tipo de codificación puede ser útil para una variable nominal u ordinal. 9. ### Helmert Encoding La media de la variable dependiente para un nivel se compara con la media de la variable dependiente sobre todos los niveles anteriores. Esta comparación no tiene mucho sentido para una variable nominal, como la raza. 10. ### Catboost Encoding Catboost es un encoder categórico basado en el objetivo. Reemplaza una característica categórica con el valor promedio del objetivo correspondiente a esa categoría en el dataset de entrenamiento combinado con la probabilidad del objetivo sobre todo el dataset. Sin embargo, esto introduce una fuga del objetivo, porque el objetivo se utiliza para predecir el objetivo. -------------------------------------------------------------------------------- title: "Imputadores" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/operations-in-quickml/imputers/" service: "QuickML" -------------------------------------------------------------------------------- # Imputers La imputación es una técnica utilizada para reemplazar los datos faltantes en un dataset con algún valor sustituto para retener la mayor parte de los datos/información del dataset. 1. ### KNN Imputation Esta imputación utiliza el método k-Nearest Neighbours para reemplazar los valores faltantes en los datasets con el valor medio de los n_neighbors vecinos más cercanos encontrados en el conjunto de entrenamiento. Por defecto, el parámetro n_neigbours se establecerá en 5 y se utilizará la métrica de distancia euclidiana para encontrar los k vecinos más cercanos. 2. ### MissForest Imputation Inicialmente imputa todos los datos faltantes usando la media/moda. Luego, para cada variable con valores faltantes, se entrenará un modelo de random forest en la parte observada y luego predice la parte faltante. 3. ### Mean Imputation Mean Imputation reemplaza los valores nulos con la media de esa característica a lo largo de todo el dataset. 4. ### Median Imputation Median Imputation reemplaza los valores nulos con la mediana de esa característica a lo largo de todo el dataset. 5. ### Mode Imputation Mode Imputation reemplaza los valores nulos con la moda de esa característica a lo largo de todo el dataset. 6. ### Group-By Imputation Group-by imputation toma las siguientes 3 entradas para reemplazar los valores nulos. * **Columns to Impute**: Columnas que contienen valores nulos y que necesitan ser reemplazados. * **Group-By Columns**: Estas columnas se agruparán al calcular los valores para reemplazar los valores nulos. * **Aggregator**: Función de agregación como mean, median, minimum y maximum que necesita ser utilizada. Usando las entradas anteriores, Group-By Imputation encuentra los valores de agregación requeridos agrupando las columnas Group-By y rellena los valores nulos en el dataset con esos valores de agregación. -------------------------------------------------------------------------------- title: "Ingeniería de Características" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/operations-in-quickml/feature-engineering/" service: "QuickML" -------------------------------------------------------------------------------- # Feature Engineering ### Feature Generation Este es el proceso de transformar características que ya existen en nuevas para hacerlas más relevantes para la característica objetivo. Las siguientes técnicas se utilizan en la generación de características: - **Operations** - Una técnica de generación de características que genera nuevas características basadas en operaciones matemáticas sobre las características numéricas existentes. - **Autolearn** - Un algoritmo de generación de características basado en regresión. Las características se generan minando asociaciones de pares de características, identificando la relación lineal o no lineal entre cada par, aplicando regresión y seleccionando aquellas relaciones que son estables y mejoran el rendimiento de predicción. - **Explorekit** - Genera un gran conjunto de características candidatas combinando información en las características originales, con el objetivo de maximizar el rendimiento predictivo según los criterios seleccionados por el usuario. ### Feature Selection Las técnicas a continuación ayudan a disminuir la dimensionalidad del espacio de características, simplificar el modelo y mejorar el rendimiento de generalización del modelo eligiendo un subconjunto de características relevantes de la lista original en el dataset. - **Embedded** - Una técnica donde la selección de características se integra en el proceso de entrenamiento de un modelo de aprendizaje automático. El propio modelo decide qué características son más relevantes durante el entrenamiento. - **Filter** - Una técnica que implica seleccionar las características más relevantes basándose en sus propiedades estadísticas o puntuaciones de clasificación. - **Redundancy Elimination** - Un proceso de eliminación de características de un dataset que proporcionan información similar o duplicada. - **Backward Feature Elimination** - Una técnica que comienza con todas las características en el dataset y elimina iterativamente las características menos significativas una a la vez. - **Exhaustive Feature Engineering** - Una técnica que considera todas las combinaciones posibles de características para encontrar el subconjunto óptimo que resulta en el mejor rendimiento del modelo. - **Forward Selection** - Una técnica que comienza con un conjunto vacío de características y agrega iterativamente las características más significativas una a la vez. ### Feature Reduction Estas técnicas se utilizan para abordar la "maldición de la dimensionalidad", que es cuando un algoritmo tiene dificultades para entrenar un modelo efectivo debido al gran número de características en el dataset en relación con las observaciones. Se emplean las siguientes técnicas efectivas: - **PCA** - Principal Component Analysis (PCA) es una técnica de reducción de dimensionalidad utilizada para transformar datos de alta dimensionalidad en un espacio de menor dimensionalidad mientras se preserva la mayor cantidad posible de variabilidad de los datos originales. - **FA** - Factor Analysis (FA) es una técnica estadística utilizada para descubrir variables latentes subyacentes (factores) que explican los patrones de correlaciones entre las variables observadas en un dataset. Se emplea comúnmente para la reducción de dimensionalidad y para obtener información sobre la estructura de datos complejos. - **NMF** - NMF (Non-Negative Matrix Factorization) es una técnica de reducción de dimensionalidad y extracción de características que es particularmente útil cuando se trata con datos no negativos, como datos de texto o datos de imagen con intensidades de píxeles. - **ICA** - ICA (Independent Component Analysis) es una técnica utilizada para separar una señal multivariada en componentes estadísticamente independientes, asumiendo que los datos observados son una combinación lineal de señales fuente no gaussianas e independientes. - **LDA** - LDA (Linear Discriminant Analysis) es una técnica supervisada de reducción de dimensionalidad y clasificación utilizada para encontrar una combinación lineal de características que mejor separa dos o más clases en los datos. -------------------------------------------------------------------------------- title: "Normalización" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/operations-in-quickml/normalization/" service: "QuickML" -------------------------------------------------------------------------------- # Normalization Normalization es una técnica que se aplica frecuentemente como parte de la preparación de datos para el aprendizaje automático. El objetivo de la normalización es cambiar los valores de las columnas numéricas en el dataset a una escala común, sin distorsionar las diferencias en los rangos de valores ni perder información. ### Min-Max Normalization Min-Max normalization es una de las formas más comunes de normalizar datos. Para cada característica, el valor mínimo de esa característica se transforma en 0, el valor máximo se transforma en 1, y cada otro valor se transforma en un decimal entre 0 y 1. **Proceso:** x_normalized = (x−min(x))/ (max(x)-min(x)) **Donde:** - x_normalized es el valor normalizado de la característica. - x es el valor original de la característica. - min(x) es el valor mínimo de la característica a lo largo del dataset. - max(x) es el valor máximo de la característica a lo largo del dataset. **Ejemplo:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">0</td> <td style="text-align:center">0.75</td> <td style="text-align:center">1</td> </tr> <tbody> </tbody> </table> ### Unit Normalization Unit normalization consiste en dividir cada entrada en una columna (característica) por su magnitud para crear una característica de longitud 1 conocida como vector unitario. **Proceso:** x_normalized = x / ||x|| **Donde:** - x_normalized es el valor normalizado de la característica. - x es el valor original de la característica. - ||x|| es la magnitud que se calcula como - ||x|| = sqrt(x1^2 + x2^2 + ....... xn^2) - x1, x2, x3......xn son los valores originales de la característica. **Ejemplo:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">0.248</td> <td style="text-align:center">0.620</td> <td style="text-align:center">0.744</td> </tr> <tbody> </tbody> </table> ### Mean Normalization Este transformer transforma los datos basándose en la media de modo que la suma de los valores sea igual a 0. **Proceso:** x_normalized = x - mean(x) / max(x) - min(x) **Donde:** - x_normalized es el valor normalizado de la característica. - x es el valor original de la característica. - mean(x) es la media de la característica a lo largo del dataset. - min(x) es el valor mínimo de la característica a lo largo del dataset. - max(x) es el valor máximo de la característica a lo largo del dataset. **Ejemplo:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">-0.583</td> <td style="text-align:center">0.166</td> <td style="text-align:center">0.416</td> </tr> <tbody> </tbody> </table> ### Mean-Std Normalization Los datos se pueden normalizar restando la media (µ) de cada característica y dividiéndolos por la desviación estándar (σ). De esta manera, cada característica tiene una media de 0 y una desviación estándar de 1. Esto resulta en una convergencia más rápida. **Proceso:** x_normalized = x - mean(x) / std(x) **Donde** - x_normalized es el valor normalizado de la característica. - x es el valor original de la característica. - mean(x) es la media de la característica a lo largo del dataset. - std(x) es la desviación estándar de la característica a lo largo del dataset. **Ejemplo:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">-1.120</td> <td style="text-align:center">0.320</td> <td style="text-align:center">0.800</td> </tr> <tbody> </tbody> </table> ### Robust Normalization Robust Scaler es una técnica de normalización que escala las características usando la **mediana** y el **rango intercuartílico (IQR)**, haciéndolo menos sensible a los outliers en comparación con los métodos de escalado estándar. Centra los datos normalizados alrededor de la mediana y los escala según el IQR, lo que ayuda a mantener la estructura de los datos con valores extremos sin dejar que esos valores distorsionen el escalado. **Proceso:** xrobust = IQR(x)x − median(x) **Donde** - x = valor original de la característica - median(x) = mediana de los valores de la característica - IQR(x) = rango intercuartílico (percentil 75 - percentil 25) - xrobust = valor normalizado después del escalado robusto **Ejemplo** Supongamos que los valores de la característica son: [10, 25, 30, 1000 (outlier)] - Mediana = 27.5 - IQR = 20 (entre el percentil 25 = 15 y el percentil 75 = 35) Los valores normalizados serían: <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Valor de entrada</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> <td style="text-align:center">1000</td> </tr> <th style="text-align:center">Salida (Robust)</th> <td style="text-align:center">-0.875</td> <td style="text-align:center">-0.125</td> <td style="text-align:center">0.125</td> <td style="text-align:center">48.625</td> </tr> <tbody> </tbody> </table> Observa que el outlier (1000) tiene un valor escalado grande, pero el resto se mantienen en un rango razonable sin distorsión. **Beneficio en tiempo real de Robust Normalization** En datos del mundo real, como lecturas de sensores, transacciones financieras o métricas de salud, los outliers son comunes. Usar robust normalization evita que estos valores extremos dominen el entrenamiento del modelo, resultando en: - Un modelo más estable y confiable - Mejor generalización a datos no vistos - Rendimiento mejorado cuando el dataset tiene valores ruidosos o extremos -------------------------------------------------------------------------------- title: "Transformador" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/operations-in-quickml/transformer/" service: "QuickML" -------------------------------------------------------------------------------- # Transformer Transformation es una operación de ML que transforma los datos para que todos los datos de características estén en la misma escala. Se utilizan muchas técnicas de normalización para lo mismo. 1. ### Square Transform Esto transforma los datos en el cuadrado de los datos. <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">5</td> <td style="text-align:center">10</td> <td style="text-align:center">12</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">25</td> <td style="text-align:center">100</td> <td style="text-align:center">144</td> </tr> <tbody> </tbody> </table> 2. ### Cube Transform Esto transforma los datos en el cubo de los datos. <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">2</td> <td style="text-align:center">4</td> <td style="text-align:center">5</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">8</td> <td style="text-align:center">64</td> <td style="text-align:center">125</td> </tr> <tbody> </tbody> </table> 3. ### Inverse Transform Esto transforma los datos en el inverso de los datos. <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">20</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">0.1</td> <td style="text-align:center">0.05</td> <td style="text-align:center">0.03333</td> </tr> <tbody> </tbody> </table> 4. ### Root Transform Esto transforma los datos en su raíz cuadrada. <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">25</td> <td style="text-align:center">100</td> <td style="text-align:center">64</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">5</td> <td style="text-align:center">10</td> <td style="text-align:center">8</td> </tr> <tbody> </tbody> </table> 5. ### Log Transform Esto transforma los datos en su valor log (data). <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">Entrada de ejemplo</th> <td style="text-align:center">10</td> <td style="text-align:center">25</td> <td style="text-align:center">30</td> </tr> <th style="text-align:center">Salida de ejemplo</th> <td style="text-align:center">2.39789527</td> <td style="text-align:center">3.25809654</td> <td style="text-align:center">3.4339872</td> </tr> <tbody> </tbody> </table> ### Preprocesamiento de Datos -------------------------------------------------------------------------------- title: "Limpieza de Datos" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-preprocessing/data-cleaning/" service: "QuickML" -------------------------------------------------------------------------------- # Técnicas de Preprocesamiento de Datos en QuickML QuickML proporciona las principales técnicas de preprocesamiento de datos divididas en tres categorías principales. - **Data Cleaning** - **Data Transformation** - **Dataset Extraction** Todas las operaciones listadas en las próximas secciones están disponibles como etapas en el proceso de construcción del pipeline que ayuda al usuario a crear mejores modelos de aprendizaje automático. # Data Cleaning Data Cleaning es el proceso de corregir o eliminar datos incorrectos, corruptos, con formato incorrecto, duplicados o incompletos dentro de un dataset. Si los datos son incorrectos, los resultados y algoritmos no serán confiables. 1. ### Fill Columns Se utiliza para cambiar los valores de una columna específica basándose en los criterios establecidos por el usuario. Si los criterios no se especifican en la configuración, entonces todos los valores en esa columna serán reemplazados por el valor/método específico del usuario.\ **Ejemplo:**\ Para datos de población de un país que contienen detalles del paciente como nombre, edad, dirección, elegible para votar, etc., podemos rellenar la columna de elegible para votar como sí para todas las personas cuya edad sea mayor de 18 como criterio. 2. ### Filter Se utiliza para extraer los datos del dataset que necesitamos preprocesar aplicando criterios en la configuración. También podemos utilizar los datos que no satisfacen los criterios para el preprocesamiento.\ **Ejemplo:** - #### Single Output Filter: En un dataset de estudiantes, si solo requerimos los datos del departamento CSE, podemos establecer el criterio como dept=CSE, lo que reducirá los datos que necesitamos preprocesar. - #### Double Output Filter: Si se requiere preprocesar los datos tanto de chicos como de chicas del dataset de estudiantes en un flujo diferente, podemos usar la casilla **"Show unmatched records as secondary output"** en la configuración. Esto será útil si deseas realizar alguna operación o proceso especial para los datos no coincidentes del nodo de filtro. ![Double Output Filter](/images/help/quickml/data-preprocessing/Double_Output_Filter.webp) 3. ### Remove Duplicates Se utiliza para eliminar las filas duplicadas en el dataset. También podemos controlar cómo deben eliminarse las filas duplicadas.\ **Ejemplo:**\ Para un dataset de estudiantes que tenía cinco filas duplicadas con ID de estudiante 101 en los índices 1, 5, 7. Opción de preferencia de conservación:\ &nbsp;&nbsp;&nbsp;&nbsp;**First** - El dataset de salida tendrá solo la fila en el índice 1, las otras filas en los índices 5 y 7 serán eliminadas.\ &nbsp;&nbsp;&nbsp;&nbsp;**Last** - El dataset de salida tendrá solo la fila en el índice 7, las otras filas en los índices 1 y 5 serán eliminadas.\ &nbsp;&nbsp;&nbsp;&nbsp;**None** - El dataset de salida no tendrá filas duplicadas, las filas en los índices 1, 5 y 7 serán eliminadas. 4. ### Select or Drop Se utiliza para seleccionar o eliminar columnas en el dataset. Si un usuario necesita tener solo dos columnas del dataset, simplemente puede seleccionar las dos columnas requeridas del menú desplegable y elegir la operación de selección. Para eliminar columnas, elige la operación de eliminación. -------------------------------------------------------------------------------- title: "Transformación de Datos" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-preprocessing/data-transformation/" service: "QuickML" -------------------------------------------------------------------------------- <!-- # Data type Detection Data type detection is used to detect the date type of feature (column). It verifies and finds Date-time, URL, Email, Currency, Phone, Latitude degree, latitude seconds, latitude minutes, longitude deg, longitude Seconds, and longitude minutes data types. It returns a list of dictionaries that contain the column name and its type.\ --> <!-- **Sample output:** [{"name":"created_time","datatype":"DateTime"},{"name":"mail","datatype":"Email"},....] --> <!-- # DType Transformation{#DTypeTransformation} This ML operation generates new columns from URL, Email, Date-time and json type columns. --> # Data Transformation Data Transformation es el proceso de convertir datos de un formato o estructura a otro formato o estructura. 1. ### Date Time Transformation Se utiliza para extraer características de fecha-hora, como fecha, año y mes, de una columna que contiene fechas. **Caso de uso 1:** Una empresa minorista quiere rastrear las ventas de sus productos a lo largo del tiempo. DateTime Transformation les ayuda a extraer la fecha, mes y año de la lista de transacciones de ventas. **Caso de uso 2:** Una empresa de transporte puede usar DateTime Transformation para extraer la fecha, hora y ubicación de una lista de entregas pasadas para optimizar sus rutas de entrega. **Entrada de ejemplo:** <table class="content-table" style="width:300px;"> <thead> <tr> <th style="text-align:center">dt</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">2021-11-29 11:52:59</td> </tr> </tbody> </table> **Salida de ejemplo:** <table class="content-table" style="width:300px;"> <tbody> <tr> <th style="text-align:center">dt_day_of_week</th> <td style="text-align:center">1</td> </tr> <tr> <th style="text-align:center">dt_date_no</th> <td style="text-align:center"><a>29</a></td> </tr> <tr> <th style="text-align:center">dt_year_no</th> <td style="text-align:center"><a>2021</a></td> </tr> <tr> <th style="text-align:center">dt_month_no</th> <td style="text-align:center">11</td> </tr> <tr> <th style="text-align:center">dt_business_day</th> <td style="text-align:center">1</td> </tr> <tr> <th style="text-align:center">dt_week_no_year</th> <td style="text-align:center">48</td> </tr> <tr> <th style="text-align:center">dt_day_of_year</th> <td style="text-align:center">333</td> </tr> <tr> <th style="text-align:center">dt_AM_PM</th> <td style="text-align:center">AM</td> </tr> <tr> <th style="text-align:center">dt_quarter_year</th> <td style="text-align:center">4</td> </tr> </tbody> </table> 2. ### Email Transformation Se utiliza para extraer características como nombre de usuario, dominio y sufijo de una columna que contiene correos electrónicos. **Caso de uso 1:** Un equipo de ventas puede usar Email Transformation para extraer el nombre de usuario y el nombre de dominio de una lista de direcciones de correo electrónico para personalizar su alcance por correo electrónico a clientes potenciales. **Caso de uso 2:** Para identificar correos electrónicos de phishing, un equipo de seguridad necesita características como el nombre de dominio y el sufijo de una lista de direcciones de correo electrónico que han sido marcadas como sospechosas. **Entrada de ejemplo:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">mail</th> </tr> </thead> <tbody> <tr> <td style="text-align:center"><a>abc@zylker.com</a></td> </tr> </tbody> </table> **Salida de ejemplo:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">mail_first</th> <th style="text-align:center">mail_middle</th> <th style="text-align:center">mail_last</th> </tr> </thead> <tbody> <tr> <td style="text-align:center">abc</td> <td style="text-align:center">zylker</td> <td style="text-align:center">com</td> </tr> </tbody> </table> 3. ### Extract Data El componente Extract Data utiliza patrones regex para recuperar información de columnas de texto. Estos patrones pueden abarcar varios formatos de fecha, correos electrónicos o valores numéricos incrustados dentro de las columnas de texto. **Ejemplo:**\ En el dataset de predicción de precios de automóviles, para extraer el año de fabricación del automóvil de la columna name, usamos el patrón regex POSIX /d{4} aplicado en la misma columna. **Patrones Regex POSIX de ejemplo:** - **Formato de fecha:** \d{4}-\d{2}-\d{2} - **Email:** [a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+ - **Número:** \d+ 4. ### Format Se utiliza para modificar los valores de columna en el dataset basándose en la función elegida por el usuario. La función se mostrará según los tipos de datos de la columna. **Ejemplo:**\ En un dataset de pacientes, formateando la columna de edad usando la función de valor absoluto. La columna de edad ya no tendrá valores negativos. 5. ### Group By Se utiliza para particionar filas en grupos basándose en sus valores en una o más columnas. Es obligatorio proporcionar al menos una función de **aggregate** para una columna. Los usuarios también pueden establecer los criterios de HAVING para filtrar el dataset agrupado. **Ejemplo:**\ Ejemplo: En un dataset de salarios de empleados, los usuarios pueden sumar los salarios asignados a cada departamento agrupando los datos por departamento. Esto permite a los usuarios ver el gasto total en salarios de cada departamento. En la sección HAVING se pueden filtrar estos grupos para incluir solo los departamentos donde el salario total exceda 50,000. 6. ### Hash Generator Se utiliza para aplicar hash a una o varias columnas en el dataset. Los usuarios también pueden eliminar la columna de origen una vez que se genera el hash. 7. ### Join Se utiliza para unir dos datasets en un solo dataset basándose en la columna primaria en ambas tablas. El usuario puede realizar joins de tipo Left, Right, Inner y Outer.\ **Nota:** Esta etapa requiere seleccionar un nodo de dataset.\ **Ejemplo:** 8. ### Merge Column Se utiliza para fusionar dos o más columnas en una sola columna usando un separador especificado por el usuario. El usuario también puede eliminar la columna de origen después de realizar la operación de fusión. **Ejemplo:**\ En un dataset de pasajeros, podemos combinar first_name, middle_name y last_name como columna Name usando un separador de espacio. 9. ### Normalization La normalización es un método estadístico que ayuda a escalar y comparar variables en diferentes escalas o unidades. Este nodo se utiliza para normalizar dos o más columnas. 10. ### Outlier Handler Los outliers son puntos de datos que caen fuera de la distribución normal de los datos, lo que puede distorsionar los resultados del análisis de datos y llevar a conclusiones incorrectas. Outlier Handler se puede utilizar para eliminar outliers de un dataset o reemplazarlos con valores más razonables, como los valores de cap, mean o median de las columnas respectivas en los datos. 11. ### Sort Se utiliza para ordenar el dataset por un conjunto de columnas. Los usuarios también pueden elegir el orden de clasificación. 12. ### Split Column Se utiliza para dividir una sola columna en dos o más columnas basándose en el separador especificado por el usuario. El número de columnas de salida se determinará según los nombres de salida proporcionados por el usuario. **Ejemplo:**\ En un dataset de pasajeros, el usuario puede dividir la columna Name en tres columnas especificando first_name, middle_name y last_name en el cuadro de texto de la columna de salida. 13. ### String Transformation Se utiliza para producir word embeddings a partir de columnas que contienen texto. **Caso de uso 1:** Para proporcionar contenido recomendado a sus usuarios, una empresa de redes sociales puede utilizar String Transformation para obtener los word embeddings del texto de las publicaciones que los usuarios han dado like y compartido. **Caso de uso 2:** A partir del texto de los tickets, un equipo de soporte al cliente necesita clasificar los tickets de soporte identificando problemas comunes que sus clientes están experimentando usando word embeddings producidos por string transformation. 14. ### Type Conversion Se utiliza para convertir el tipo de columna al tipo de dato especificado por el usuario. Los usuarios pueden manejar el dataset resultante si ocurre un error usando la opción On Error en la configuración. Throw lanzará una excepción si ocurre un error y detendrá la ejecución, mientras que Nullify devolverá el registro original si ocurre un error para ese registro en particular. 15. ### URL Transformation Se utiliza para extraer características como sub_domain, domain y suffix de una columna que contiene URLs. **Caso de uso 1:** Un equipo de marketing necesita determinar qué sitios web son visitados con más frecuencia por su mercado objetivo. Pueden utilizar URL Transformation para extraer los nombres de dominio de una lista de URLs en las que los usuarios de su sitio web han hecho clic. **Caso de uso 2:** Un equipo de detección de fraude puede usar URL Transformation para descubrir la lista de dominios, subdominios y sufijos de sitios web maliciosos de una lista de URLs que han sido marcadas como sospechosas. **Entrada de ejemplo:** <table class="content-table" style="width:450px;"> <thead> <tr> <th style="text-align:center">link</th> </tr> </thead> <tbody> <tr> <td style="text-align:center"><a>https://www.google.in/library?fetch=query#fragment_part</a></td> </tr> </tbody> </table> **Salida de ejemplo:** <table class="content-table" style="width:400px;"> <tr> <th style="text-align:center">link_url_protocol</th> <td style="text-align:center">https</td> </tr> <th style="text-align:center">link_url_domain</th> <td style="text-align:center"><a>www.google.in</a></td> </tr> <th style="text-align:center">link_url_path</th> <td style="text-align:center"><a>/library</a></td> </tr> <th style="text-align:center">link_url_query</th> <td style="text-align:center">fetch=query</td> </tr> <th style="text-align:center">link_url_fragment</th> <td style="text-align:center">fragment_part</td> </tr> <th style="text-align:center">link_domain_tld</th> <td style="text-align:center">in</td> </tr> <th style="text-align:center">link_domain_country</th> <td style="text-align:center">IN</td> </tr> <th style="text-align:center">subdomain</th> <td style="text-align:center">www</td> </tr> <tbody> </tbody> </table> 16. ### Union Se utiliza para combinar dos datasets en un solo dataset. Los usuarios pueden eliminar filas duplicadas después de combinar dos datasets.\ **Nota:** Esta etapa requiere seleccionar un nodo de dataset. 17. ### Windowing Se utiliza para realizar la operación de promedio de ventana en columnas numéricas. El usuario debe especificar el rango de ventana que debe ser mayor que 0. Los promedios móviles son un tipo simple y común de suavizado utilizado en el análisis de series temporales y la previsión de series temporales. Esto se puede utilizar para datasets de series temporales. 18. ### Fill Columns Se utiliza para cambiar los valores de una columna específica basándose en los criterios establecidos por el usuario. Si los criterios no se especifican en la configuración, entonces todos los valores en esa columna serán reemplazados por el valor o método especificado por el usuario. **Ejemplo:**\ Para un dataset de población de un país que contiene detalles del paciente como nombre, edad, dirección y elegibilidad para votar, podemos actualizar la columna "eligible for vote" a "yes" para todas las personas cuya edad sea mayor de 18. 19. ### Rename Se utiliza para renombrar cualquier nombre de columna particular del dataset. **Ejemplo:**\ Para un dataset que contiene columnas como name, age, address y eligible_for_vote, podemos renombrar la columna eligible_for_vote a voter_eligibility. 20. ### Custom Expression Esto permite a los usuarios crear expresiones personalizadas para manipular o calcular valores en un dataset. Las expresiones personalizadas se pueden utilizar para derivar nuevas columnas, transformar datos existentes o aplicar cálculos complejos basados en los datos. **Ejemplo:**\ Para un dataset que contiene columnas como name, age, address y salary, podemos crear una expresión personalizada para calcular el salario anual a partir del salario mensual. -------------------------------------------------------------------------------- title: "Extracción de Datos" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-preprocessing/data-extraction/" service: "QuickML" -------------------------------------------------------------------------------- # Data Extraction: 1. ### Add Dataset Esta opción te permite elegir un dataset diferente al actual para realizar diversas operaciones como joins, unions y más. 2. ### Split Dataset Se utiliza para dividir un solo dataset en múltiples datasets, siguiendo el método especificado por el usuario. 1. #### Row Based Split: El dataset se dividirá basándose en la proporción proporcionada por el usuario.\ **Ejemplo:**\ Si el dataset contiene 8 filas y la proporción se establece como 1:3:4, el dataset se dividirá en tres datasets con 1, 3 y 4 filas respectivamente. 2. #### Column Based Split: El dataset se dividirá basándose en la columna seleccionada por el usuario. ### Visualización de Datos -------------------------------------------------------------------------------- title: "Descripción General" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/overview/" service: "QuickML" -------------------------------------------------------------------------------- # Data Visualization ## Introducción a Data Visualization: **Data Visualization** es la representación gráfica de datos con el fin de obtener información de conjuntos de datos complejos. Desempeña un papel crucial en la comprensión de los datos al identificar correlaciones, patrones y tendencias, ayuda en la ingeniería de características y más. Es muy útil para construir un modelo eficiente. **Los ejemplos incluyen:** - Scatter Plot: Se utiliza para visualizar la relación entre dos variables, como las características de entrada y las salidas objetivo. Ayudan a identificar correlaciones, outliers y clusters de datos, facilitando la selección de características. - Heatmap: Se emplea para evaluar las correlaciones de característica a característica y de característica a objetivo, anomalías y patrones representados visualmente con gradación de color. - Pie chart: Se utiliza para mostrar la proporción de cada categoría de una característica en porciones que comprenden un todo. **Los gráficos de Data Visualization se segregan en las siguientes cuatro categorías:** <table class="content-table quickml-content-table"> <thead> <tr> <th class="w15p">Tipos de visualización</th> <th class="w35p">Breve caso de uso</th> </tr> </thead> <tbody> <tr> <td>Composition charts</td> <td>Los composition charts muestran cómo las partes de los datos componen el todo</td> </tr> <tr> <td>Distribution charts</td> <td>Los distribution charts muestran visualmente la distribución o dispersión de categorías en un grupo.</td> </tr> <tr> <td>Comparison charts</td> <td>Los comparison charts permiten comparar dos o más conjuntos de datos o variables.</td> </tr> <tr> <td>Relationship charts</td> <td>Los relationship charts ilustran visualmente la relación entre dos o más variables y cómo están correlacionadas entre sí.</td> </tr> </tbody> </table> -------------------------------------------------------------------------------- title: "Gráficos de Composición" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/composition-charts/" service: "QuickML" -------------------------------------------------------------------------------- # Composition Charts Los composition charts, también conocidos como gráficos de parte-a-todo, son representaciones gráficas utilizadas para mostrar cómo las partes individuales contribuyen al todo de un dataset. Estos gráficos ayudan a mostrar las proporciones, porcentajes o valores absolutos de diferentes categorías dentro de una entidad o dataset más grande. Los composition charts son particularmente efectivos para ilustrar la distribución de datos y enfatizar las relaciones entre diferentes componentes. 1. ### Bar Chart Un bar chart es un tipo de visualización de datos que representa datos categóricos con barras rectangulares. La longitud o altura de cada barra es proporcional al valor que representa. Los bar charts se utilizan comúnmente para comparar las frecuencias o valores de diferentes categorías dentro de un dataset. Son particularmente útiles para visualizar datos discretos y comprender patrones o tendencias en los datos. **Descripción:** - **Ejes:** El eje horizontal (eje x) generalmente representa las categorías, y el eje vertical (eje y) representa el conteo de valores. - **Forma:** Cada categoría se representa con una barra separada. - **Secciones:** Las barras se dibujan para cada categoría, con sus longitudes o alturas indicando los valores de los datos. 2. ### Pyramid Chart Un pyramid chart, también conocido como diagrama de triángulo, es una herramienta visual utilizada para mostrar jerarquías, flujos de trabajo o conjuntos de datos simples. Tiene forma de triángulo dividido en secciones horizontales. Estos gráficos son efectivos para comparar datos, mostrar proporciones o ilustrar jerarquías y flujos de trabajo. Se utilizan comúnmente en presentaciones empresariales para mostrar pasos realizados hacia una tarea, cuotas de mercado, niveles de jerarquía o una secuencia de acciones. **Descripción:** - **Forma:** Se asemeja a un triángulo tridimensional, formando una estructura piramidal. - **Ejes:** Los pyramid charts no tienen ejes x e y tradicionales como los bar charts. En su lugar, se basan en la estructura jerárquica de los datos para transmitir información. - **Representación jerárquica:** Las capas del pyramid chart representan diferentes niveles de una jerarquía, flujo de trabajo o secuencia de acciones. La capa más ancha está en la parte inferior y las capas se vuelven más estrechas a medida que avanzan hacia arriba. - **Secciones:** La forma triangular se divide en secciones o capas horizontales. Cada capa corresponde a una categoría, paso en un proceso o nivel en una jerarquía. - **Ancho y Altura:** La altura de cada capa indica la proporción de una categoría. El ancho de las capas no tiene un significado específico. 3. ### Pie Chart Un pie chart es una visualización circular utilizada para mostrar datos categóricos como un conjunto de "porciones". Cada porción representa la proporción de una categoría específica dentro de un todo. El tamaño de cada porción corresponde al porcentaje de datos que representa. Los pie charts son valiosos para mostrar partes de un todo y comparar contribuciones relativas de diferentes categorías. **Descripción:** - **Forma circular:** Un pie chart es circular, asemejándose a un pastel completo. El círculo entero representa el 100% de los datos. - **Porciones:** El círculo se divide en porciones, con cada porción representando una categoría o punto de datos específico. - **Representación proporcional:** El tamaño de cada porción es proporcional al porcentaje que contribuye al conjunto total de datos. Las porciones más grandes indican proporciones más altas. 4. ### Stacked Bar Chart Un stacked bar chart es una representación gráfica utilizada para mostrar cómo diferentes componentes contribuyen a un todo, mientras también se comparan las contribuciones de múltiples categorías a través de diferentes grupos o segmentos. Cada barra en el gráfico se divide en segmentos, con cada segmento representando la contribución de una categoría específica. La altura total de cada barra indica la contribución combinada de todas las categorías, mientras que los segmentos muestran la distribución de contribuciones dentro de cada barra. **Descripción:** - **Barras segmentadas:** Las barras se dividen en segmentos, cada uno representando una categoría. - **Estructura vertical:** Las barras se alinean verticalmente, con el eje y representando el conteo de valores y el eje x mostrando diferentes grupos o segmentos. - **Comparación de contribución:** Las barras apiladas permiten comparar las contribuciones de diferentes categorías dentro de cada grupo y a través de múltiples grupos. 5. ### Stacked Area Chart Un stacked area chart es una representación visual utilizada para mostrar las contribuciones acumulativas de múltiples categorías o grupos a lo largo del tiempo. Se construye sobre los mismos principios que un area chart regular, pero con múltiples áreas apiladas una encima de otra. Cada área representa una categoría, y la altura combinada de las áreas en cualquier punto del gráfico revela el valor total en ese punto. **Descripción:** - **Áreas en capas:** Las áreas se superponen una encima de otra, con cada capa representando una categoría o grupo. - **Ejes:** El eje x representa diferentes categorías o grupos, y el eje y representa el valor acumulativo de los puntos de datos dentro de esas categorías. - **Visualización acumulativa:** El gráfico ilustra cómo las contribuciones de diferentes categorías se acumulan para formar el todo a lo largo del tiempo. -------------------------------------------------------------------------------- title: "Gráficos de Distribución" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.907Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/distribution-charts/" service: "QuickML" -------------------------------------------------------------------------------- # Distribution Charts Los distribution charts son representaciones gráficas utilizadas para visualizar la frecuencia o distribución de valores dentro de un dataset. Proporcionan información sobre la dispersión, variabilidad y patrones de los puntos de datos, permitiendo una mejor comprensión de cómo se distribuyen los valores a través de diferentes rangos. Los distribution charts son particularmente útiles para identificar tendencias centrales, outliers y la forma general de las distribuciones de datos. 1. ### Scatter Plot Un Scatter Plot es una representación gráfica utilizada para mostrar la relación entre dos variables o atributos. Comprende puntos de datos individuales colocados en un plano cartesiano, donde cada punto representa una combinación de valores para las dos variables. Los scatter plots son particularmente útiles para revelar patrones, correlaciones u outliers dentro de los datos. **Descripción:** - **Puntos de datos individuales:** Cada punto de datos en el gráfico representa una combinación específica de valores para las dos variables. - **Plano cartesiano:** El gráfico se basa en un sistema de coordenadas cartesianas, con una variable trazada a lo largo del eje x y la otra a lo largo del eje y. - **Relaciones de variables:** Los scatter plots ayudan a visualizar cómo los cambios en una variable corresponden a cambios en la otra, indicando correlaciones o patrones potenciales. 2. ### BoxPlot Un BoxPlot, también conocido como gráfico de caja y bigotes, es una representación gráfica utilizada para visualizar la distribución, dispersión y outliers dentro de un dataset. Proporciona un resumen conciso de estadísticas clave, como la mediana, cuartiles y outliers potenciales. El gráfico comprende una **"caja"** rectangular y líneas que se extienden desde ella, conocidas como **"bigotes"**. **Descripción:** - **Caja:** El rectángulo central (caja) abarca el rango intercuartílico (IQR), mostrando dónde se concentra el 50% medio de los datos. La línea vertical dentro de la caja representa la mediana. - **Bigotes:** Las líneas (bigotes) se extienden desde los bordes de la caja hasta los valores mínimo y máximo dentro de un rango definido, excluyendo los outliers. - **Outliers:** Los puntos fuera de los bigotes se marcan como puntos de datos individuales y pueden indicar outliers potenciales. 3. ### Histogram Un histogram es una representación gráfica utilizada para visualizar la distribución de datos numéricos. Divide los datos en bins o intervalos a lo largo del eje x y muestra la frecuencia o conteo de puntos de datos que caen dentro de cada bin en el eje y. Los histograms te ayudan a comprender la forma, tendencia central y dispersión de un dataset. **Descripción:** - **Agrupación en bins:** Los datos se dividen en intervalos (bins) a lo largo del eje x, y el eje y representa la frecuencia o conteo de puntos de datos dentro de cada bin. - **Alturas de barras:** La altura de cada barra corresponde al número de puntos de datos en el bin respectivo. - **Interpretación de forma:** Los histograms proporcionan información sobre patrones de distribución de datos, como si es sesgada, simétrica o bimodal. -------------------------------------------------------------------------------- title: "Gráficos de Comparación" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.908Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/comparison-charts/" service: "QuickML" -------------------------------------------------------------------------------- # Comparison Charts Los comparison charts son representaciones gráficas utilizadas para comparar datos entre diferentes categorías, grupos o períodos de tiempo. Proporcionan una forma visual de resaltar similitudes, diferencias, tendencias y relaciones dentro de los datasets. Los comparison charts son particularmente efectivos para tomar decisiones basadas en datos, identificar patrones y transmitir información a través de visualizaciones fáciles de entender. 1. ### Area Chart Un area chart es una representación gráfica utilizada para mostrar el cambio o distribución de un dataset a lo largo del tiempo o a lo largo de un eje continuo. Se asemeja a un line chart, pero el área entre la línea y el eje x está rellena, proporcionando una representación visual de los valores acumulativos. Los area charts son particularmente efectivos para revelar tendencias, comparar múltiples datasets y enfatizar los valores totales a lo largo del tiempo. **Descripción:** - **Área rellena:** Representa datos usando áreas rellenas delimitadas por líneas, enfatizando visualmente los valores acumulativos o individuales a lo largo del tiempo u otro eje continuo. - **Ejes:** El eje x de un area chart representa las categorías distintas, grupos o períodos de tiempo, mientras que el eje y representa las contribuciones asociadas con cada categoría o período de tiempo. - **Visualización de tendencias:** Los area charts ayudan a mostrar tendencias, cambios o distribuciones de datos a lo largo del tiempo o a lo largo de un eje continuo. 2. ### Grouped Bar Chart Un grouped bar chart es una representación gráfica utilizada para comparar valores de múltiples categorías a través de diferentes grupos o segmentos. Muestra barras para cada categoría dentro de cada grupo, permitiendo comparaciones directas entre categorías dentro del mismo grupo y a través de varios grupos. Los grouped bar charts son efectivos para ilustrar patrones, diferencias y relaciones en los valores del dataset. **Descripción:** - **Grupos de barras:** Las barras se agrupan lado a lado para cada categoría, y cada grupo representa un segmento o categoría distinta. - **Estructura vertical:** El gráfico se organiza verticalmente, con el eje y representando valores y el eje x indicando los grupos o segmentos. - **Comparación:** Las barras agrupadas permiten una fácil comparación visual de valores dentro de categorías a través de diferentes grupos. -------------------------------------------------------------------------------- title: "Gráficos de Relación" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.908Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/relationship-charts/" service: "QuickML" -------------------------------------------------------------------------------- # Relationship Charts Los relationship charts son representaciones gráficas utilizadas para visualizar las conexiones, asociaciones o interacciones entre diferentes entidades o variables dentro de un dataset. Estos gráficos ayudan a revelar patrones, dependencias y correlaciones, facilitando la comprensión de cómo se relacionan los diversos elementos. Los relationship charts son particularmente útiles para identificar tendencias, descubrir dependencias y obtener información sobre estructuras de datos complejas. 1. ### Line Chart Un line chart es una representación gráfica utilizada para mostrar tendencias, cambios o relaciones dentro de un dataset a lo largo del tiempo o a lo largo de un eje continuo. Conecta puntos de datos individuales con líneas, proporcionando una representación visual de cómo evolucionan los valores durante un período dado. Los line charts son particularmente efectivos para mostrar patrones, fluctuaciones y comparaciones entre diferentes series de datos. **Descripción:** - **Puntos de datos conectados:** Los puntos de datos se conectan mediante líneas, formando una línea continua que representa la tendencia o cambio. - **Ejes:** El eje x típicamente representa categorías distintas o grupos, o cualquier otra variable continua. El eje y representa los valores asociados con cada categoría o grupo. - **Visualización de tendencias:** Los line charts ayudan a visualizar tendencias, fluctuaciones o relaciones dentro de los datos a lo largo del tiempo o a lo largo de un eje continuo. 2. ### Bubble Chart Un bubble chart es una representación gráfica utilizada para mostrar tres dimensiones de datos simultáneamente. Agrega una tercera variable a un scatter plot, donde cada punto de datos se representa como un círculo (o burbuja) con su posición determinada por dos variables (generalmente en los ejes x e y) y su tamaño determinado por la tercera variable. Los bubble charts son efectivos para visualizar relaciones, comparar múltiples dimensiones y comprender patrones dentro de los datos. **Descripción:** - **Burbujas:** Cada punto de datos se representa con un círculo (burbuja) en el gráfico. - **Posición:** La posición de la burbuja a lo largo de los ejes x e y representa los valores de dos variables. - **Tamaño:** El tamaño de la burbuja representa el valor de una tercera variable. - **Color:** El color de la burbuja representa las diferencias de grupo. 3. ### Heatmap Un heatmap es una representación gráfica utilizada para visualizar la intensidad o magnitud de los valores dentro de un dataset utilizando variaciones de color. Presenta los datos en formato de cuadrícula, donde cada celda está coloreada según el valor que representa. Los heatmaps son efectivos para identificar patrones, tendencias y variaciones dentro de grandes datasets y tomar decisiones basadas en datos a partir de patrones visualizados. **Descripción:** - **Mapeo de color:** Cada celda en la cuadrícula está coloreada según una escala de colores, con la intensidad del color representando la magnitud del valor. - **Cuadrícula bidimensional:** Los datos se organizan en filas y columnas, formando una cuadrícula donde cada celda representa un valor específico. - **Detección de patrones:** Los heatmaps ayudan a detectar patrones, correlaciones y anomalías al resaltar visualmente áreas de valores altos o bajos. -------------------------------------------------------------------------------- title: "Información de Gráficos" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de aprendizaje automático con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.908Z" source: "https://docs.catalyst.zoho.com/es/quickml/help/data-visualization/chart-insights/" service: "QuickML" -------------------------------------------------------------------------------- ## Chart Insights para Data Visualization QuickML incluye una función de Chart Insights que genera información clave en lenguaje natural basada en las visualizaciones creadas durante el análisis de datos. Esto te ayuda a interpretar y explorar el dataset subyacente proporcionando explicaciones significativas para cada gráfico. Estas perspectivas se generan utilizando el modelo Qwen 2.5 - 7B Vision Language, un poderoso modelo multimodal de 7 mil millones de parámetros diseñado para comprender tanto texto como imágenes. Destaca en tareas de razonamiento y se utiliza principalmente para generar resultados precisos basados en imágenes cargadas por el usuario final. Al hacer clic en el icono de Chart Insights junto a cualquier gráfico, se abrirá un panel lateral que presenta información clave y explicaciones sobre el gráfico seleccionado. Dentro de este panel, también puedes optar por copiar la explicación generada o regenerarla, permitiéndote refinar las perspectivas según sea necesario. Esta función proporciona una comprensión más profunda de los datos visualizados sin requerir análisis manual adicional. Los Chart Insights se pueden acceder en dos lugares: **Al crear un gráfico** Durante la creación del gráfico, encontrarás una opción para Generate Key Insights. Esto muestra el gráfico recién creado junto con su explicación generada automáticamente. En el histograma mostrado para el atributo DiabetesPedigreeFunction, el gráfico muestra el conteo de ocurrencias contra los bins. El bin único, etiquetado alrededor de 0.03, exhibe un conteo de ocurrencias alto de casi 760. No hay otros bins presentes, indicando una falta de variación en los datos dentro del rango mostrado. El Chart Explainer de QuickML interpreta esto como una distribución altamente concentrada alrededor del valor 0.03, sugiriendo que la mayoría de los registros se agrupan estrechamente en este punto con una dispersión mínima a través de otros valores. **Después de la creación del gráfico** En la sección de Visualization, puedes ver explicaciones para gráficos creados previamente. Aquí, el modelo proporciona un desglose de puntos clave e información relacionada con el gráfico. ## Primeros pasos -------------------------------------------------------------------------------- title: "Catalyst QuickML" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.908Z" source: "https://docs.catalyst.zoho.com/es/quickml/getting-started/introduction/" service: "QuickML" -------------------------------------------------------------------------------- # Catalyst QuickML ### Introducción QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de machine learning de extremo a extremo. QuickML te ayuda a ejecutar secuencias de etapas que incluyen amplias gamas de subtareas de procesamiento de datos y machine learning necesarias para construir, probar, desplegar y monitorear eficientemente modelos de ML efectivos para diferentes requerimientos de negocio. Catalyst, en su conjunto, sirve como una plataforma de desarrollo completa de extremo a extremo que te proporciona servicios, componentes y herramientas para construir, codificar, probar, desplegar y monitorear aplicaciones web, aplicaciones móviles y microservicios. Catalyst ofrece una variedad de servicios de backend, componentes FaaS, herramientas DevOps, potentes microservicios de IA y ML, y más. La configuración y gestión de los recursos de servidor subyacentes utilizados por estas aplicaciones son manejados completamente por Catalyst, eliminando así por completo el mantenimiento de infraestructura y los costos de tu parte. Los servicios de Catalyst pueden usarse de forma independiente o integrarse entre sí para construir aplicaciones y microservicios altamente funcionales y robustos. Puedes acceder a QuickML desde la consola de Catalyst altamente integrada, desde donde puedes crear un proyecto y comenzar. Puedes configurar tu proyecto de Catalyst y adaptarlo a tus requerimientos, y acceder a todos los demás servicios y componentes de Catalyst desde la consola también. Nota: QuickML actualmente no está disponible para usuarios que acceden desde los centros de datos CA (Canadá), JP (Japón) o SA (Arabia Saudita). ### ¿Qué es un Pipeline de Machine Learning? Un pipeline de machine learning es una serie de instrucciones en forma de pasos secuenciales, donde cada paso es un proceso particular que se logra colocando los componentes respectivos para desarrollar, desplegar y monitorear el modelo de machine learning. Estos pasos secuenciales incluyen procesos de extremo a extremo como recolección de datos, validación de datos, preprocesamiento, entrenamiento del modelo, análisis y despliegue. Cuando se trata de machine learning, las iteraciones son la clave para construir y lograr un modelo efectivo con alta precisión. Dividir soluciones complejas en componentes más pequeños es importante, ya que estos son más fáciles y rápidos cuando se trata de iteraciones. Tener componentes más pequeños dedicados a roles individuales también facilita su reemplazo. El enfoque monolítico no es prácticamente escalable a largo plazo. Esto se debe a que al ajustar un área o contexto particular, todo el flujo necesita ser reprocesado, ya que no hay segmentación disponible. Pasar manualmente por cada paso de un pipeline de machine learning es costoso, consume tiempo y frecuentemente es propenso a errores. Los pipelines automatizados de machine learning ayudarán a los científicos de datos a enfocarse en nuevos modelos sin tener que mantener manualmente actualizados los modelos previamente desarrollados mediante el preprocesamiento de datos o la ejecución de scripts de despliegue. En los primeros días, los modelos de machine learning servían como el producto principal en el mercado. Sin embargo, ahora que consideramos el machine learning como un servicio, el producto principal en demanda son en realidad los flujos de trabajo definidos al conectar los componentes para lograr las soluciones de machine learning deseadas (es decir, un pipeline de machine learning). -------------------------------------------------------------------------------- title: "¿Por Qué QuickML?" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.908Z" source: "https://docs.catalyst.zoho.com/es/quickml/getting-started/why-quickml/" service: "QuickML" -------------------------------------------------------------------------------- ### ¿Por Qué QuickML? En las soluciones de machine learning, existe una brecha entre los científicos de datos que trabajan en las diferentes etapas del machine learning y los desarrolladores que trabajan en los modelos. QuickML se enfoca en dar a los científicos de datos un control de extremo a extremo sobre todo el pipeline, haciendo las iteraciones mucho más fáciles para mejorar la precisión. Crear un modelo de machine learning para obtener mejores predicciones con el fin de ayudar a mejorar los negocios es un proceso iterativo que implica lidiar con muchas dificultades de desarrollo y producción, tales como: - Manejo de datos - Manejo de recursos - Estrategias de gestión de modelos - Monitoreo de modelos - Y otros desafíos operacionales QuickML promete ser el servicio para abordar todas estas dificultades, y aprovechar los datos que están disponibles en la nube, con cero sobrecarga operacional. QuickML ayuda a crear estos sistemas basados en datos y machine learning de manera efectiva al proporcionar una plataforma sin código para que los desarrolladores, analistas de datos, científicos de datos y otros obtengan el máximo provecho de los datos con un esfuerzo mínimo. Sirve como una plataforma para desarrollar, mantener y producir modelos de machine learning. Hemos categorizado las actividades de QuickML en dos módulos principales: - QuickML Machine Learning Pipelines - QuickML Data Pipelines ### QuickML Machine Learning Pipelines Los pipelines de machine learning son la ejecución de extremo a extremo de flujos de trabajo para tareas de datos y machine learning, diseñados para orquestar modelos de machine learning completamente entrenados y precisos para ayudar a proporcionar inteligencia predictiva en una amplia gama de requerimientos de negocio. QuickML tiene una plataforma única de construcción de pipelines sin código en la que los pipelines de machine learning se diseñan y ejecutan. Se enfoca en facilitar las operaciones de machine learning en el desarrollo de modelos de machine learning que están listos para producción. ![QuickML Machine Learning Pipelines](/images/help/quickml/introduction/ML_pipeline.webp) Los usuarios pueden construir un modelo de machine learning o mejorar la calidad de los datos usando esta interfaz de construcción de pipelines. La interfaz contiene una UI simple de arrastrar y soltar para construir las etapas de un pipeline. Cada una de estas etapas puede configurarse adicionalmente con vista previa de salida en la plataforma, según los requerimientos. QuickML se especializa en proporcionar una buena variedad de algoritmos básicos de ML y funcionalidades de Inteligencia Artificial integradas como etapas atómicas en el flujo de construcción de pipelines. Un flujo de ejecución de pipeline puede contener varias combinaciones de operaciones de datos, tareas y algoritmos de machine learning que pueden generar diferentes enfoques de características y modelos de machine learning resilientes con datos de negocio. ### QuickML Data Pipelines Los data pipelines son parte del **Ciclo de Vida del Modelo de Machine Learning**, que frecuentemente requiere varias manipulaciones que deben aplicarse a los datos antes de pasar a cualquier proceso de entrenamiento de machine learning. Los data pipelines de QuickML pueden tratarse como pipelines de datos independientes o como parte de pipelines de ML según los requerimientos. Los datos pueden importarse desde otros servicios de Zoho o desde servicios externos como AWS S3/GCloud o desde el sistema de archivos local. Una vez que los datos se importan al sistema, los usuarios tendrán los detalles básicos sobre los datos, como la calidad de los datos. -------------------------------------------------------------------------------- title: "Casos de Uso" description: "QuickML es un servicio de construcción de pipelines de ML completamente sin código en la plataforma de desarrollo Catalyst para crear pipelines de machine learning con soluciones de extremo a extremo." last_updated: "2026-07-02T09:34:15.909Z" source: "https://docs.catalyst.zoho.com/es/quickml/getting-started/use-cases/" service: "QuickML" -------------------------------------------------------------------------------- ### Pronóstico de ventas El pronóstico preciso de ventas es crucial para que las empresas tomen decisiones informadas sobre la gestión de inventario, asignación de recursos y estrategia empresarial general. Los algoritmos de clasificación de ML pueden ayudar a las empresas a pronosticar ventas con precisión al analizar datos históricos de ventas, datos de clientes y otras variables relevantes. ### Análisis de Sentimientos El análisis de sentimientos implica analizar datos de texto como reseñas de clientes, publicaciones en redes sociales y otras fuentes de retroalimentación para determinar el sentimiento hacia un producto o servicio. Al usar algoritmos de clasificación de ML, las empresas pueden obtener información sobre las preferencias de los clientes, identificar áreas de mejora y tomar decisiones informadas sobre sus estrategias de marketing y desarrollo de productos. El análisis de sentimientos puede proporcionar a las empresas una mejor comprensión de las preferencias y opiniones de los clientes. Al analizar el sentimiento de las reseñas de clientes y publicaciones en redes sociales, las empresas pueden identificar áreas donde necesitan mejorar y tomar medidas proactivas para abordar las preocupaciones de los clientes. También puede usarse para monitorear la reputación de la marca y responder a comentarios negativos en tiempo real. ### Detección de fraude La detección de fraude es uno de los casos de uso empresarial más comunes que requieren algoritmos de clasificación de ML como solución. Con el aumento de las transacciones financieras en línea, las actividades fraudulentas también han aumentado significativamente. Actividades fraudulentas como el robo de identidad, el fraude con tarjetas de crédito y el fraude bancario en línea son algunos de los tipos más comunes de fraude que las empresas deben conocer. Los algoritmos de clasificación de ML pueden usarse para analizar grandes volúmenes de datos de transacciones financieras e identificar patrones que son indicativos de actividades fraudulentas. Esto puede lograrse entrenando el modelo de ML con datos de transacciones pasadas e identificando las características comunes presentes en las transacciones fraudulentas. El modelo puede entonces usarse para predecir la probabilidad de que una nueva transacción sea fraudulenta al analizar sus características y compararlas con las de transacciones pasadas. ### Predicción de Abandono El abandono se refiere a la tasa a la que los clientes o suscriptores dejan de usar un producto o servicio durante un período de tiempo determinado. A menudo se usa para medir la pérdida de clientes, y es una métrica importante para que las empresas comprendan porque afecta directamente sus ingresos y crecimiento. Las altas tasas de abandono pueden ser una señal de problemas con los productos de una empresa, el servicio al cliente o los precios, y pueden llevar a una disminución de ingresos y rentabilidad con el tiempo. Para gestionar el abandono, las empresas a menudo se enfocan en mejorar la satisfacción y lealtad del cliente, abordar cualquier problema que los clientes puedan tener y proporcionar un excelente servicio al cliente. También pueden usar analítica de datos y retroalimentación de clientes para identificar las razones por las que los clientes se van, y desarrollar estrategias para abordar estos problemas. Además, las empresas pueden ofrecer incentivos o promociones para alentar a los clientes a quedarse, como programas de lealtad o descuentos. Los algoritmos de clasificación de ML pueden usarse para analizar los datos de usuarios e identificar los clientes que están a punto de abandonar. ### Pronóstico de Inventario El pronóstico de inventario es la práctica de usar datos pasados, tendencias y eventos futuros conocidos para predecir los niveles de inventario necesarios para un período futuro. El pronóstico de inventario es crucial para que las empresas aseguren que tienen suficiente stock para satisfacer la demanda de los clientes mientras evitan el exceso de stock, que puede inmovilizar capital y llevar al desperdicio. Los algoritmos de ML pueden usarse para analizar las ventas e identificar correctamente la cantidad de productos que necesitan ser reabastecidos. ### Predicción de Precios La predicción de precios busca encontrar un equilibrio entre maximizar los ingresos y mantener precios competitivos para atraer clientes. El objetivo es establecer precios que generen las mayores ganancias posibles mientras se consideran factores como la elasticidad de la demanda, costos de producción, preferencias de los clientes y tendencias del mercado. Se recopilan y analizan datos sobre el comportamiento del cliente, dinámicas del mercado, ventas históricas y precios de la competencia. Luego se usan algoritmos de ML para identificar la mejor puntuación para los productos. ### Detección de spam La detección de spam busca diferenciar entre mensajes legítimos (ham) y mensajes no solicitados, irrelevantes o maliciosos (spam) que pueden contener anuncios, estafas, intentos de phishing u otro contenido no deseado. El objetivo es clasificar automáticamente los mensajes entrantes como spam o ham, permitiendo a los usuarios enfocarse en comunicaciones genuinas e importantes mientras se minimiza el impacto del spam. Los datos etiquetados se recopilan y analizan. Luego, se usan algoritmos de ML para aprender los patrones en los datos e identificar correctamente el spam. --- ## SDK — Java — QuickML -------------------------------------------------------------------------------- title: "Ejecutar endpoint de QuickML" description: "Esta página describe el método para ejecutar endpoints de QuickML en tu aplicación Java con un fragmento de código de ejemplo." last_updated: "2026-07-02T09:34:15.914Z" source: "https://docs.catalyst.zoho.com/es/sdk/java/v1/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML (/es/quickml/) - QuickML Pipeline Endpoints (/es/quickml/help/pipeline-endpoints/) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickML es un servicio de construcción de pipelines de machine learning sin código que te permite implementar una variedad de algoritmos de ML preconstruidos, operaciones y técnicas de preprocesamiento de datos, y conectar con conjuntos de datos para construir y publicar modelos de ML. Después de publicar el pipeline de datos y el pipeline de ML, puedes acceder a los modelos que creas con endpoints autenticados. ### Ejecutar endpoint de QuickML El fragmento de código proporcionado a continuación te permite pasar datos de entrada a un endpoint de QuickML publicado, y predecir el resultado basándose en el procesamiento del modelo de ML. La salida devuelve la predicción de los valores de la columna objetivo que se define al crear el pipeline de ML. Nota: 1. Necesitarás tener el pipeline de ML y el endpoint del modelo configurados y publicados en tu proyecto usando la consola de Catalyst, antes de ejecutar este código para predecir el resultado con el fragmento de código a continuación. 2. QuickML actualmente no está disponible para usuarios de Catalyst que acceden desde los centros de datos de JP, SA o CA. Los datos de entrada al endpoint del modelo se pasan como pares clave-valor a través de un hashmap. El endpoint_key mencionado a continuación es el ID único del endpoint publicado para el modelo de ML configurado en tu proyecto. La clave del endpoint y los datos de entrada se pasan al método predict() para su ejecución. #### Fragmento de código de ejemplo <br> import java.util.HashMap; import com.zc.component.quickml.ZCQuickML; import com.zc.component.quickml.ZCQuickMLDetail; // datos de entrada HashMap&lt;String, String&gt; map= new HashMap<>(); //Proporcionar nombre de columna y valor según tu conjunto de datos map.put("column_name1", "value1"); map.put("column_name2", "value2"); map.put("column_name3", "value3"); String EndPointKey = "c8c7b4bfd8fdf4f29b9499fjhd9d03f5b2a79cd4792b302e26934a3db984214fd4cfc8049bba7acb15fe73eac0d15af59"; // Clave del endpoint copiada desde la UI de Catalyst. // crear una instancia de quickml ZCQuickML quickMlInstance = ZCQuickML.getInstance(); // ejecutar método ZCQuickMLDetail result = quickMlInstance.predict(EndPointKey, map); System.out.println(result.getStatus()); // retorna el estado del resultado System.out.print(result.getResult()); // retorna los datos del resultado --- ## SDK — Node JS — QuickML -------------------------------------------------------------------------------- title: "Ejecutar endpoint de QuickML" description: "Esta página describe el método para ejecutar endpoints de QuickML en tu aplicación NodeJS con un fragmento de código de ejemplo." last_updated: "2026-07-02T09:34:15.915Z" source: "https://docs.catalyst.zoho.com/es/sdk/nodejs/v2/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML (/es/quickml/) - QuickML Pipeline Endpoints (/es/quickml/help/pipeline-endpoints/) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickML es un servicio de construcción de pipelines de machine learning sin código que te permite implementar una serie de algoritmos de ML preconstruidos, operaciones y técnicas de preprocesamiento de datos, y conectar con conjuntos de datos para construir y publicar modelos de ML. Después de publicar el pipeline de datos y el pipeline de ML, puedes acceder a los modelos que creas con endpoints autenticados. ### Execute QuickML Endpoint El fragmento de código proporcionado a continuación te permite pasar datos de entrada a un endpoint de QuickML publicado, y predecir el resultado basándose en el procesamiento del modelo de ML. La salida devuelve la predicción de los valores de la columna objetivo que se define al crear el pipeline de ML. Note: 1. Necesitarás tener el pipeline de ML y el endpoint del modelo configurados y publicados en tu proyecto usando la consola de Catalyst, antes de ejecutar este código para predecir el resultado con el fragmento de código a continuación. 2. QuickML actualmente no está disponible para los usuarios de Catalyst que acceden desde los centros de datos de JP, SA o CA. La instancia del componente quickml se crea como se muestra a continuación, lo cual no disparará una llamada del lado del servidor. Puedes pasar los datos de entrada al endpoint del modelo como pares clave-valor. El endpoint_key mencionado a continuación es el ID único del endpoint publicado para el modelo de ML configurado en tu proyecto. La clave del endpoint y los datos de entrada se pasan al método predict() para su ejecución. // datos de entrada const input_data = { // Ingresa el nombre de columna y valor según tu conjunto de datos "column_name1": "value1", "column_name2": "value2", "column_name3": "value3" } // crear una instancia de quickml const quickml = app.quickML(); // ejecutar método de predicción const result = await quickml.predict("{endpoint_key}",input_data); // Reemplaza {endpoint_key} con la clave de endpoint copiada de la consola de Catalyst console.log(result); La sintaxis de la salida recibida se muestra a continuación: { 'status': 'success', 'result': ["results....."] } --- ## SDK — Python — QuickML -------------------------------------------------------------------------------- title: "Ejecutar endpoint de QuickML" description: "Esta página describe el método para ejecutar endpoints de QuickML en tu aplicación Python con un fragmento de código de ejemplo." last_updated: "2026-07-02T09:34:15.915Z" source: "https://docs.catalyst.zoho.com/es/sdk/python/v1/quickml/execute-quickml-endpoints/" service: "QuickML" related: - QuickML Help (/es/quickml/) - QuickML Pipeline Endpoints (/es/quickml/help/pipeline-endpoints/) - SDK Scopes (/es/sdk/python/v1/sdk-scopes) -------------------------------------------------------------------------------- # Catalyst QuickML Catalyst QuickML es un servicio de construcción de pipelines de machine learning sin código que te permite implementar una variedad de algoritmos de ML preconstruidos, operaciones y técnicas de preprocesamiento de datos, y conectar con conjuntos de datos para construir y publicar modelos de ML. Después de publicar el pipeline de ML, puedes acceder a los modelos que creaste con endpoints autenticados. ### Ejecutar endpoint de QuickML El fragmento de código proporcionado a continuación te permite pasar datos de entrada a un endpoint de QuickML publicado, y predecir el resultado basándose en el procesamiento del modelo de ML. La salida devuelve la predicción de los valores de la columna objetivo que se define al crear el pipeline de ML. Note: 1. Necesitarás tener el pipeline de ML y el endpoint del modelo configurados y publicados en tu proyecto usando la consola de Catalyst, antes de ejecutar este código para predecir el resultado con el fragmento de código a continuación. 2. QuickML actualmente no está disponible para usuarios de Catalyst que acceden desde los centros de datos JP, SA o CA. La instancia del componente quickml se crea como se muestra a continuación, lo cual no realizará una llamada del lado del servidor. Necesitarás crear un diccionario de datos a través del cual puedes pasar los datos de entrada al endpoint del modelo como pares clave-valor. El endpoint_key mencionado a continuación es el ID único del endpoint publicado para el modelo de ML configurado en tu proyecto. La clave del endpoint y los datos de entrada se pasan al método predict() para su ejecución. La referencia app utilizada en el código a continuación es el objeto Python devuelto como respuesta durante la inicialización del SDK. **Parámetros utilizados** <table class="content-table"> <thead> <tr> <th class="w20p">Nombre del parámetro</th> <th class="w60p">Definición</th> </tr> </thead> <tbody> <tr> <td>endpoint_key</td> <td>Un parámetro obligatorio. Almacenará el ID único del endpoint publicado para el modelo de ML.</td> </tr> <tr> <td>input_data</td> <td>Un parámetro obligatorio. Almacenará los datos a publicar en el endpoint de QuickML.</td> </tr> </tbody> </table> # Input data dictionary input_data = { # Proporcionar el nombre de columna y valor según tu conjunto de datos "column_name1": "value1", "column_name2": "value2", "column_name3": "value3", } #Crear instancia de QuickML quickml = app.quick_ml() #Ejecutar método result = quickml.predict("{endpoint_key}", input_data) #Reemplazar {endpoint_key} con la clave de endpoint copiada de la consola de Catalyst print(result) La sintaxis de la salida recibida se muestra a continuación: { "status":"success", "result":[ "results....." ] } Info : Consulta la tabla de SDK Scopes para determinar el nivel de permiso requerido para realizar la operación anterior. --- ## FAQ — QuickML # General AutoML te permite analizar fácilmente un conjunto de datos de entrenamiento y generar analítica predictiva sobre el dataset sin requerir que te involucres en el complejo proceso de entrenamiento ML que implica seleccionar los algoritmos ML correctos para entrenar el modelo, preprocesar o perfilar los datos, o gestionar los modelos. Catalyst implementa el entrenamiento de modelos necesario y automatiza todo el proceso por ti. QuickML, por otro lado, te brinda más control en la gestión de operaciones ML y de datos, y te permite construir, probar, desplegar y monitorear modelos ML efectivos de extremo a extremo. Podrás realizar una gran cantidad de operaciones de preprocesamiento y transformación de datos, elegir los algoritmos ML para el entrenamiento y diseñar el pipeline exactamente como lo necesites, todo sin necesidad de codificación. Los datos de los usuarios se cifran y almacenan de forma segura cumpliendo con todas las medidas de seguridad aplicadas en Zoho. Los datos subidos no se usarán para mejorar la precisión de ninguno de los algoritmos de la plataforma QuickML. Solo se usan para entrenar el modelo del cliente previsto que el usuario configure. Los proyectos de Catalyst están diseñados para proporcionar un aislamiento claro entre los datos que se manejan. No es posible acceder a los datos de un proyecto desde otro. <!-- Model training cost is calculated based on the below metrics. **Training cost** = Memory cost + CPU usage cost\ **CPU usage cost** = Average CPU Usage per Second * Cost per vCPU second\ **Memory usage cost** = Memory used / GB-second #### Cost per unit: **vCPU second** = 0.03 Rupees\ **1 GB per second cost** = 0.01 Rupees --> # Datasets La puntuación de calidad de los datos se calcula mediante métricas internas considerando los valores inválidos y faltantes presentes en el dataset. Usando las APIs masivas de Zoho CRM, se obtendrán un máximo de seiscientos mil registros en QuickML incluso si se configura la sincronización. Puedes editar la opción de sincronización de un dataset en particular eligiendo la opción None en el menú desplegable de Sync Frequency en la página de detalles del dataset. # Pipelines Sí. Puedes usar múltiples datasets en un solo pipeline usando la etapa Add Dataset y configurando el dataset requerido en ella. Data Pipeline está diseñado para realizar preprocesamiento de datos en el dataset original y reutilizar el dataset para futuras creaciones de pipelines. Por lo tanto, el Data Pipeline solo tendrá operaciones de datos, mientras que el ML Pipeline contendrá tanto operaciones de datos como de ML. El perfil en la página de detalles del dataset representa los detalles de todos los datos, pero el perfil en la etapa source representa los detalles de los datos muestreados del dataset original. No. Una vez que la columna objetivo del pipeline se guarda, no se puede cambiar. Se deberá crear un nuevo ML Pipeline con la nueva columna objetivo para experimentar. Las funcionalidades de Zia son modelos ML/DL internos que están pre-entrenados usando grandes datasets de código abierto para resolver casos de uso comunes e integrados en el builder para mejorar las capacidades de preprocesamiento de datos. Todas las ejecuciones de pipelines se ponen en cola y se manejan de forma asíncrona dentro de QuickML y, según la demanda, la ejecución se llevará a cabo. En ciertos casos, la operación podría ser más costosa en términos de computación, por lo que puede haber un retraso. Sin embargo, el estado de la ejecución del pipeline se actualizará respectivamente una vez que la ejecución tenga éxito o falle. # Models El modelo se creará automáticamente tras la ejecución exitosa del Model Pipeline. Una vez que los modelos se crean, podemos ver los detalles asociados con ese modelo y pipeline en el módulo de modelos. # Endpoints Cuando creamos un endpoint para un modelo, la plataforma QuickML habilita automáticamente un endpoint de API REST que sirve para probar y verificar el comportamiento del modelo, y es gratuito para 1000 invocaciones. Después de verificar, el endpoint debe publicarse para acceder a él en el entorno de producción para integraciones de nivel productivo y se cobrará según el uso. <!-- No. Only successful API invocations will be charged as per pricing tiers. --> Hay dos modos disponibles para integrar los endpoints de QuickML. **REST API:** Llamadas a la [API REST](/es/quickml/help/pipeline-endpoints/) autenticadas con Zoho OAuth.\ **QuickML SDKs:** Se pueden realizar llamadas externas usando los SDKs de Catalyst para [Java](/es/sdk/java/v1/quickml/execute-quickml-endpoints/), [Python](/es/sdk/python/v1/quickml/execute-quickml-endpoints/) y [NodeJs](/es/sdk/nodejs/v2/quickml/execute-quickml-endpoints/).