Esta es la primera entrega de una serie de 3 artículos en los que detallamos cómo enfocar un proyecto de Machine Learning para predecir la cancelación de reservas hoteleras. En este primer artículo exponemos los resultados de un primer modelo y hacemos una introducción a los indicadores de calidad con los que trabajamos. En los dos siguientes analizamos cómo interpretar estos indicadores y qué pasos seguir para mejorar el rendimiento del modelo. Para llevar a cabo este análisis, hemos utilizado la plataforma en la nube de BigML, de donde hemos obtenido las imágenes de este primer artículo. Empezamos.
Machine Learning en el Turismo
Hace unos meses nos encargaron un proyecto con uno de los mayores grupos turísticos de Cataluña. El reto que nos plantearon era la predicción de cancelación de reservas de hoteles. Hoy en día este tema es muy común en el sector del Turismo. Desde el punto de vista del negocio, la detección anticipada de cancelaciones de reservas permite a la empresa adelantarse y actuar de forma preventiva, ya que le ofrece más flexibilidad y capacidad de adaptación a, por ejemplo, el overbooking.
En esta ocasión, el cliente intentó construir su propio modelo predictivo con el historial de reservas que poseía. Sin embargo, a la hora de integrarlo en sus procesos, no obtuvo los resultados esperados. Fue entonces cuando decidió contactar con CleverData.
Para reproducir el problema y entender qué estaba sucediendo, decidimos construir un nuevo modelo predictivo con nuestros propios algoritmos.
El cliente nos facilitó un historial de más de un millón de reservas. Contamos con información específica de cada reserva como el hotel, el precio y la fecha de llegada entre otras. Además, las reservas se catalogaron en dos categorías – también llamadas clases –, las «Canceladas» y las «No canceladas».
Qué es el Machine Learning
El Machine Learning es una disciplina científica que explora la construcción y estudio de algoritmos que aprenden de los datos. Estos algoritmos conforman un modelo basándose en los datos y lo usan a la hora de hacer predicciones. En nuestro caso, los datos fueron el historial de reservas del cliente. Y con ellos, nuestro algoritmo aprendió qué patrones siguen las reservas que se van a cancelar.
“Los algoritmos de machine learning exploran los datos, descubren patrones en ellos, y utilizan esos patrones para clasificar nuevos casos”
Análisis de resultados
Una vez construido el modelo, realizamos una evaluación para medir su calidad. El procedimiento consiste en hacer predicciones de un conjunto de nuevas reservas de las que se sabe de antemano si han sido o no canceladas. Una vez realizadas las predicciones, para medir el rendimiento del modelo, se compara para cada reserva el resultado de la predicción con el valor real.
La siguiente imagen muestra el rendimiento del modelo que obtuvimos al hacer la prueba:
Sin duda, un accuracy tan alto es un buen indicador. Nos está diciendo que el modelo ha acertado casi un 90% de las predicciones. No está mal, ¿verdad? El resto de indicadores tampoco tienen valores bajos. A simple vista, para una persona no iniciada en el mundo del Machine Learning, estos indicadores parecen buenos. Sin embargo, si los analizamos detenidamente, vemos que el average Phi no es tan alto…
Coeficiente Phi
El coeficiente Phi, también conocido como coeficiente de correlación de Matthews, es una medida de evaluación para modelos de clasificación binaria (en este caso reservas Canceladas y No canceladas). Es una medida resumen del resto de indicadores que unifica en uno único la calidad de las predicciones de todas las clases del modelo, en nuestro caso las clases “Cancelada” y “No cancelada”. Por este motivo, es un indicador clave para saber la calidad global de un modelo. Su valor oscila entre -1 y 1:
- 1 indica una perfecta predicción.
- 0 indica que la predicción no es mejor que el azar.
- -1 indica una correlación negativa entre las predicciones y los valores verdaderos.
Entonces, un coeficiente Phi de 0,43 quiere decir que el rendimiento del modelo no es tan bueno como parecía.
Para averiguar por qué el valor de Phi es tan bajo, analizamos los resultados para cada una de las dos clases por separado:
En primer lugar examinamos las reservas de la clase «No cancelado». Observamos que el rendimiento es muy bueno. Los indicadores precision y recall son altos y no hay indicios que nos hagan pensar que el problema de un Phi bajo venga de ahí.
En segundo lugar estudiamos las reservas de la clase «Cancelado». Los resultados obtenidos no son tan buenos. Consideramos que el indicador precision con un 71,95% presenta un valor aceptable, pero en cambio, un recall de 31,26% es demasiado bajo.
Para comprender qué está sucediendo, primero hay que entender qué significan estas dos métricas. En el próximo artículo aclararemos su significado, su interpretación y explicaremos uno de los problemas más comunes al realizar los proyectos de Machine Learning.