Share via


Evaluación del recomendador

Importante

El soporte técnico de Machine Learning Studio (clásico) finalizará el 31 de agosto de 2024. Se recomienda realizar la transición a Azure Machine Learning antes de esa fecha.

A partir del 1 de diciembre de 2021 no se podrán crear recursos de Machine Learning Studio (clásico). Hasta el 31 de agosto de 2024, puede seguir usando los recursos de Machine Learning Studio (clásico) existentes.

La documentación de ML Studio (clásico) se está retirando y es posible que no se actualice en el futuro.

Evalúa la precisión de las predicciones del modelo del recomendador

Categoría: Machine Learning/ Evaluar

Nota:

Solo se aplica a: Machine Learning Studio (clásico)

Hay módulos para arrastrar y colocar similares en el diseñador de Azure Machine Learning.

Información general sobre el módulo

En este artículo se describe cómo usar el módulo Evaluar recomendador en Machine Learning Studio (clásico) para medir la precisión de las predicciones realizadas por un modelo de recomendación. Con este módulo, puede evaluar cuatro tipos diferentes de recomendaciones:

  • Clasificaciones previstas para un usuario y un elemento determinados

  • Elementos recomendados para un usuario determinado

  • Una lista de usuarios encontrados que puedan estar relacionados con un usuario determinado

  • Una lista de elementos encontrados que puedan estar relacionados con un elemento determinado

Al crear predicciones con un modelo de recomendación, se devuelven resultados ligeramente diferentes para cada uno de estos tipos de predicción admitidos. El módulo Evaluate Recommender (Evaluar recomendador ) deduce el tipo de predicción del formato de columna del conjunto de datos puntuado. Por ejemplo, el conjunto de datos puntuado puede contener:

  • tripleta usuario-elemento-clasificación
  • usuarios y sus elementos recomendados
  • usuarios y sus usuarios relacionados
  • elementos y sus elementos relacionados

El módulo también aplica las métricas de rendimiento adecuadas, en función del tipo de predicción que se realice.

Sugerencia

Obtenga información sobre todo lo que necesita saber sobre la experiencia de un extremo a otro de la creación de un sistema de recomendaciones en este tutorial del equipo de desarrollo de .NET. Incluye código de ejemplo y una explicación de cómo llamar a Machine Learning desde una aplicación.

Creación de un motor de recomendaciones para aplicaciones .NET mediante Machine Learning

Cómo configurar la evaluación del recomendador

El módulo deEvaluación del recomendador compara las predicciones generadas por un modelo de recomendación con los datos "reales" correspondientes. Por ejemplo, el módulo Score Matchbox Recommender (Puntuar recomendador de Cuadro de coincidencia) genera conjuntos de datos puntuados que se pueden analizar con Evaluate Recommender (Evaluar recomendador).

Requisitos

Evaluate Recommender requiere los siguientes conjuntos de datos como entrada.

Conjunto de datos de prueba

El conjunto de datos de prueba contiene los datos "verdaderos" en forma de triples de clasificación de elementos de usuario.

Si ya tiene un conjunto de datos que contiene triples de clasificación de elementos de usuario, puede aplicar el módulo Dividir datos mediante la opción RecommenderSplit para crear un conjunto de datos de entrenamiento y un conjunto de pruebas relacionado a partir del conjunto de datos existente.

Conjunto de datos puntuado

El conjunto de datos puntuado contiene las predicciones generadas por el modelo de recomendación.

Las columnas de este segundo conjunto de datos dependen del tipo de predicción que estaba realizando durante la puntuación. Por ejemplo, el conjunto de datos puntuado puede contener:

  • Usuarios, elementos y clasificaciones que el usuario podría proporcionar para el elemento
  • Una lista de usuarios y elementos recomendados para ellos
  • Una lista de usuarios, con usuarios que probablemente sean similares a ellos
  • Una lista de elementos, junto con elementos poco familiares

Métricas

Las métricas de rendimiento para el modelo se generan en función del tipo de entrada. Para más información, consulte estas secciones:

Evaluación de las clasificaciones previstas

Al evaluar las clasificaciones previstas, el conjunto de datos puntuado (la segunda entrada a la Evaluación del recomendador) debe contener la tripleta usuario-elemento-clasificación, cumpliendo estos requisitos:

  • La primera columna del conjunto de datos contiene los identificadores de usuario.

  • La segunda columna contiene identificadores de elemento.

  • La tercera columna contiene las clasificaciones correspondientes del usuario-elemento.

Importante

Para que la evaluación sea correcta, los nombres de columna deben ser User, Itemy Rating, respectivamente.

LaEvaluación del recomendador compara las clasificaciones en el conjunto de datos del terreno real con las clasificaciones previstas del conjunto de datos puntuado y calcula la desviación media (MAE) y el error cuadrático medio (RMSE).

Los demás parámetros de Evaluate Recommender no tienen ningún efecto en la evaluación de las predicciones de clasificación.

Evaluación de recomendaciones de elemento

Al evaluar la recomendación de elemento, use un conjunto de datos puntuado que incluya los elementos recomendados para cada usuario:

  • La primera columna del conjunto de datos debe contener los identificadores de usuario.

  • Todas las columnas subsiguientes deben contener los identificadores de elemento recomendados correspondientes, ordenados según la importancia de un elemento para el usuario.

    Antes de conectar este conjunto de datos, recomendamos que ordene el conjunto de datos para que los elementos más relevantes aparezcan primero.

Los demás parámetros de Evaluate Recommender no tienen ningún efecto en la evaluación de recomendaciones de elementos.

Importante

Para que Evaluate Recommender funcione, los nombres de columna deben ser User, Item 1, Item 2, Item 3 etc.

Evaluate Recommender calcula la ganancia acumulativa con descuento normalizada media (NDCG) y la devuelve en el conjunto de datos de salida.

Dado que es imposible conocer el "terreno real" actual de los elementos recomendados, el Evaluador del recomendador usa la clasificación del usuario local en el conjunto de datos de prueba como ganancia en el cálculo de NDCG. Para evaluar, el módulo del recomendador puntuado solo debe generar recomendaciones para los elementos con clasificaciones del terreno real (en el conjunto de datos de prueba).

Evaluación de predicciones de usuarios relacionados

Al evaluar predicciones de usuarios relacionados, use un conjunto de datos puntuado que contenga los usuarios relacionados para cada usuario de interés:

  • La primera columna debe contener los identificadores de cada usuario de interés.

  • Todas las columnas posteriores contienen los identificadores de los usuarios relacionados previstos. Los usuarios relacionados se ordenan por la fuerza de la realtionship (el usuario más relacionado primero).

  • Para que Evaluate Recommender funcione, los nombres de columna deben ser User, Related User 1, Related User 2, Related User 3, etc.

Sugerencia

Puede influir en la evaluación si define el número mínimo de elementos que un usuario de interés y sus usuarios relacionados deben tener en común.

Evaluar el recomendador calcula la ganancia acumulada descontada normalizada (NDCG) promedio, según las distancias de Manhattan (L1 Sim NDCG) y euclidiana (L2 Sim NDCG) y, además, devuelve ambos valores en el conjunto de datos de salida. Dado que no hay ningún motivo real para los usuarios relacionados, Evaluate Recommender usa el procedimiento siguiente para calcular el promedio de NDCG.

Para cada usuario de interés en el conjunto de datos con puntuación:

  1. Busque todos los elementos del conjunto de datos de prueba que han sido calificados por el usuario de interés y el usuario relacionado que se está considerando.

  2. Cree dos vectores a partir de las clasificaciones de estos elementos: uno para el usuario de interés y otro para el usuario relacionado en consideración.

  3. Calcule la ganancia como la similitud de los dos vectores de calificación resultantes, en términos de su distancia de Manhattan (L1) o euclidiana (L2).

  4. Calcule la NDCG de L1 Sim y la NDCG de L2 Sim, usando las ganancias de todos los usuarios relacionados.

  5. Promedio de los valores de NDCG sobre todos los usuarios del conjunto de datos puntuado.

En otras palabras, la ganancia se calcula como la similitud (distancias normalizadas o euclidianas) entre un usuario de interés (la entrada de la primera columna del conjunto de datos puntuado) y un usuario relacionado determinado (la entrada en la columna n-ª del conjunto de datos puntuado). La ganancia de este par de usuario se calcula utilizando todos los elementos para los que ambos elementos se han clasificado en los datos originales (conjunto de pruebas). A continuación, el NDCG se calcula agregando las ganancias individuales para un único usuario de interés y todos los usuarios relacionados, mediante el descuento logarítmico. Es decir, se calcula un valor NDCG para cada usuario de interés (cada fila del conjunto de datos puntuado). El número que se notifica finalmente es el promedio aritmético de todos los usuarios de interés en el conjunto de datos puntuado (es decir, sus filas).

Por lo tanto, para evaluar, el módulo de puntuación del recomendador solo debe predecir los usuarios que tienen elementos con calificaciones verdaderas (en el conjunto de datos de prueba).

Evaluación de predicciones de elementos relacionados

Al evaluar la predicción de elementos relacionados, use un conjunto de datos puntuado que contenga los elementos relacionados para cada elemento de interés:

  • La primera columna debe contener identificadores para los elementos de interés.

  • Todas las columnas posteriores deben contener identificadores para los elementos relacionados previstos, ordenados por su relación con el elemento de interés (el elemento más relacionado primero).

  • Para que Evaluate Recommender funcione, los nombres de columna deben ser Item, Related Item 1, Related Item 3Related Item 2, , etc.

Sugerencia

Puede influir en la evaluación si define el número mínimo de usuarios que un elemento de interés y sus elementos relacionados deben tener en común.

Evaluate Recommender calcula las distancias medias normalizadas de ganancia acumulativa con descuento (NDCG) basadas en Distancia (L1 Sim NDCG) y Euclidán (NDCG de sim L2) y devuelve ambos valores en el conjunto de datos de salida. Dado que no hay ninguna verdad real sobre los elementos relacionados, Evaluate Recommender calcula el promedio de NDCG de la manera siguiente:

Para cada elemento de interés en el conjunto de datos con puntuación:

  1. Busque todos los usuarios del conjunto de datos de prueba que hayan calificado tanto el elemento de interés como el elemento relacionado en cuestión.

  2. Cree dos vectores a partir de las calificaciones de estos usuarios: uno para el elemento de interés y otro para el elemento relacionado en cuestión.

  3. Calcule la ganancia como la similitud de los dos vectores de calificación resultantes, en términos de su distancia de Manhattan (L1) o euclidiana (L2).

  4. Calcule la NDCG de L1 Sim y la NDCG de L2 Sim, usando las ganancias de todos los elementos relacionados.

  5. Promedia los valores de NDCG en todos los elementos de interés en el conjunto de datos puntuado.

En otras palabras, la ganancia se calcula como la similitud (distancias normalizadas o euclidianas) entre un elemento de interés (la entrada de la primera columna del conjunto de datos puntuado) y un elemento relacionado determinado (la entrada en la columna n-ª del conjunto de datos puntuado). La ganancia de este par de elementos se calcula mediante todos los usuarios que han clasificado ambos elementos en los datos originales (conjunto de pruebas). A continuación, el NDCG se calcula agregando las ganancias individuales para un único elemento de interés y todos sus elementos relacionados, mediante el descuento logarítmico. Es decir, se calcula un valor de NDCG para cada elemento de interés (cada fila del conjunto de datos puntuado). El número que finalmente se notifica es el promedio aritmético de todos los elementos de interés en el conjunto de datos puntuado (es decir, sus filas).

Por lo tanto, para evaluarlo, el módulo de puntuación del recomendador solo debe predecir elementos relacionados con clasificaciones de verdad real (en el conjunto de datos de prueba).

Ejemplos

Para obtener ejemplos de cómo se usan los modelos de recomendación Machine Learning, consulte el Azure AI Gallery:

Entradas esperadas

Nombre Tipo Descripción
Conjunto de datos de prueba Tabla de datos Conjunto de datos de prueba
Conjunto de datos puntuado Tabla de datos Conjunto de datos puntuado

Parámetros del módulo

Nombre Intervalo Tipo Valor predeterminado Descripción
Número mínimo de elementos que el usuario de consulta y el usuario relacionado deben haber clasificado en común >=1 Entero 2 Especificar el número mínimo de elementos que tanto el usuario de consulta como el usuario relacionado deben haber clasificado

Este parámetro es opcional
Número mínimo de usuarios que el elemento de consulta y el elemento relacionado deben haber clasificado en común >=1 Entero 2 Especificar el número mínimo de usuarios que deben haber clasificado tanto el elemento de consulta como el elemento relacionado

Este parámetro es opcional

Salidas

Nombre Tipo Descripción
Métrica Tabla de datos Una tabla de métricas de evaluación

Excepciones

Excepción Descripción
Error 0022 Se produce una excepción si el número de columnas seleccionadas en el conjunto de datos de entrada no es igual al número esperado.
Error 0003 Se produce una excepción si una o varias de las entradas son NULL o están vacías.
Error 0017 Se produce una excepción si una o varias columnas especificadas tienen un tipo no compatible con el módulo actual.
Error 0034 Se produce una excepción si existe más de una clasificación para un par usuario-elemento determinado.
Error 0018 Se produce una excepción si el conjunto de datos de entrada no es válido.
Error 0002 Se produce una excepción si no se pudieron analizar o convertir uno o más parámetros del tipo especificado al solicitado por el tipo de método de destino.

Para obtener una lista de errores específicos de los módulos de Studio (clásico), consulte Machine Learning códigos de error.

Para obtener una lista de excepciones de API, consulte Machine Learning códigos de error de la API REST.

Consulte también

Train Matchbox Recommender (entrenar un recomendador de Matchbox)
Score Matchbox Recommender (puntuar un recomendador de Matchbox)