--- title: "Recomendación" url: https://docs.catalyst.zoho.com/es/quickml/help/ml-algorithms/recommendation/ description: "QuickML is a fully no-code ML pipeline builder service in the Catalyst development platform for creating machine-learning pipelines with end-to-end solutions." last_updated: 2026-03-24T12:08:39Z service: QuickML type: general --- # Algoritmos de 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:
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `transactions_column` | Nombre de la columna para los conjuntos de artículos en los datos de entrada | str | nombre de columna en el conjunto de datos | especificado |
| `min_similar_sequence` | Número mínimo de secuencias similares requeridas | int | cualquier entero positivo | 2 |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `no_components` | 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. | int | Cualquier entero positivo | 10 |
| `n` | 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. | int | Cualquier entero positivo | 10 |
| `learning_schedule` | 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. | str | 'adagrad', 'adadelta'r | 'adagrad' |
| `loss` | Especifica la función de pérdida a optimizar:
|
int | Cualquier entero positivo | 10 |
| `learning_rate` | 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. | float | Cualquier float positivo | 0.05 |
| `item_alpha` | 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. | float | Cualquier float no negativo | 0.0 |
| `user_alpha` | 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. | float | Cualquier float no negativo | 0.0 |
| `train_split_ratio` | 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. | float | entre 0 y 1 | 0.8 |
| `td_uid_column` | El nombre de la columna en el conjunto de datos de transacciones que representa los IDs únicos de usuario. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| `ud_uid_column` | El nombre de la columna en el conjunto de datos de características de usuario que representa los IDs únicos de usuario. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| `pd_pid_column` | El nombre de la columna en el conjunto de datos de características del producto que representa los IDs únicos de producto. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `user_id_colum` | nombre de columna único del user_dataset | str | nombre de columna en el conjunto de datos | especificado |
| `product_id_column` | nombre de columna único del product_dataset | str | nombre de columna en el conjunto de datos | especificado |
| `depth` | Número de pasos en cada caminata aleatoria. | int | Cualquier entero positivo | 10 |
| `n_epochs` | Número máximo de pasos para el proceso de caminata aleatoria. | int | Cualquier entero positivo | 50 |
| `higher_weight` | Peso para sesgar la arista del grafo hacia conexiones más probables. | float | Un float entre 0 y 1 | 1.0 |
| `lower_weight` | Peso para sesgar la arista del grafo hacia conexiones menos probables. | float | Un float entre 0 y 1 | 0.0001 |
| `recommendation_type` | Tipo de predicción a realizar. | str | 'fbt', 'cwbab' | 'cwbab' |
| `with_feature_encoding` | Si se debe usar la codificación de características de usuario. | bool | True, False | False |
| Parámetro | Descripción | Tipo de Dato | Valores Posibles | Valores Predeterminados |
|---|---|---|---|---|
| `user` | 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. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| `product` | 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. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| `timestamp_column` | 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. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |
| `quantity` | 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. | bool | True, False | Especificado por el usuario |
| `quantity_column` | 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. | str | Cualquier nombre de columna válido en el conjunto de datos | Especificado por el usuario |