Proyecto de análisis y predicción de satisfacción de clientes de aerolínea con algoritmo de clasificación
Contexto
Para este proyecto se trabajó con un dataset tomado de Kaggle (https://www.kaggle.com/datasets/teejmahal20/airline-passenger-satisfaction) concerniente a una encuesta de satisfacción de los pasajeros de una aerolínea. Tal dataset contiene un total de 129880 observaciones y 25 variables, de las cuales una es la variable objetivo binaria ("neutral or dissatisfied" y "satisfied"). El diccionario de las variables es el siguiente:
Gender: Género de los pasajeros (Female, Male)
Customer Type: el tipo de cliente (Loyal customer, disloyal customer)
Age: La edad real de los pasajeros.
Type of Travel: Propósito del vuelo de los pasajeros (Personal Travel, Business Travel)
Class: Clase de viaje en el avión de los pasajeros (Business, Eco, Eco Plus)
Flight distance: la distancia de vuelo de este viaje.
Inflight wifi service: Nivel de satisfacción del servicio wifi a bordo (0:Not Applicable;1-5)
Departure/Arrival time convenient: Nivel de satisfacción de la hora de salida/llegada conveniente
Ease of Online booking: nivel de satisfacción de la reserva en línea.
Gate location: Nivel de satisfacción de la ubicación de la puerta.
Food and drink: Nivel de satisfacción de Comida y bebida.
Online boarding: Nivel de satisfacción del embarque online.
Seat comfort: Nivel de satisfacción del confort del asiento.
Inflight entertainment: Nivel de satisfacción del entretenimiento a bordo.
On-board service: Nivel de satisfacción del servicio a bordo.
Leg room service: Nivel de satisfacción del servicio de habitaciones para piernas.
Baggage handling: Nivel de satisfacción en el manejo de equipaje.
Check-in service: Nivel de satisfacción del servicio de Check-in.
Inflight service: Nivel de satisfacción del servicio a bordo.
Cleanliness: Nivel de satisfacción de la Limpieza.
Departure Delay in Minutes: Minutos de retraso a la salida.
Arrival Delay in Minutes: Minutos de retraso cuando llega.
Satisfaction: Nivel de satisfacción de la aerolínea (Satisfaction, neutral-dissatisfaction)
Resumen
El presente "Proyecto de análisis y predicción de satisfacción de clientes de aerolínea con algoritmo de clasificación" es un estudio que se enfoca en la evaluación de la satisfacción de los clientes de una aerolínea mediante técnicas de análisis de datos y aprendizaje automático. El objetivo principal de este proyecto es entender y predecir la satisfacción de los clientes basándose en una variedad de variables relacionadas con su experiencia de viaje.
Para llevar a cabo este proyecto, se han realizado las siguientes etapas clave:
1. Procesado de Datos: En esta etapa, se importaron librerías de Python necesarias para el análisis y modelado de datos. Se utilizó la librería pandas para la manipulación de datos, numpy para operaciones numéricas, y scikit-learn para construir y evaluar modelos de clasificación.
2. Carga de Datos: Se cargaron los datos del proyecto, los cuales consisten en información sobre los clientes de la aerolínea y sus experiencias de viaje. Estos datos se utilizaron como base para el análisis y la construcción del modelo de clasificación.
3. Descripción de Datos: Se realizó una descripción de las variables presentes en los datos, lo que permitió comprender la naturaleza de cada variable y su tipo (categórica, numérica, ordinal, etc.).
4. Limpieza y Preparación de Datos: Se identificaron y manejaron los valores nulos en los datos para garantizar la integridad y calidad de la información. También se realizaron transformaciones en las variables categóricas para poder utilizarlas en el modelo.
5. Escalamiento de Variables: Se aplicó el escalado a las variables numéricas para asegurarse de que todas tuvieran un rango comparable y no influyeran de manera desproporcionada en el modelo.
6. Manejo de Valores Nulos Mediante Imputación con Aprendizaje Automático: Se utilizó un modelo de regresión lineal para imputar los valores nulos en la variable "Arrival Delay in Minutes" y así completar la información faltante de manera precisa.
7. Creación y Evaluación del Modelo: Se utilizó un algoritmo de Árbol de Decisión para construir un modelo de clasificación que predice la satisfacción del cliente. Se ajustaron los hiperparámetros del modelo y se evaluó su rendimiento satisfactoriamente, logrando una métrica exactitud de aproximadamente el 95%.
8. Predicciones y Probabilidad: Se generaron predicciones para el conjunto de prueba, incluyendo las probabilidades de pertenencia a cada clase de satisfacción, lo que permite entender la confianza del modelo en sus predicciones, de manera más específica.
El resultado final del proyecto es un modelo de clasificación que puede predecir si un cliente de la aerolínea estará "neutral o insatisfecho" o "satisfecho" con su experiencia de viaje, con un alto grado de exactitud, precisión y recall. Este tipo de análisis es de gran utilidad para la industria, ya que permite identificar áreas que requieren mejoras y tomar decisiones basadas en datos para aumentar la satisfacción de los clientes y, en última instancia, mejorar la calidad de los servicios ofrecidos por la aerolínea. Además, brinda una comprensión más profunda de las experiencias y preferencias de los clientes, lo que puede impulsar estrategias de fidelización y retención.
1. Procesado de datos para el modelado
1.1 Importación de librerías
Run to view results
1.2 Carga de datos
Run to view results
Run to view results
Run to view results
1.3 Descripción de datos
Run to view results
Run to view results
Columna "Age": Esta columna representa la edad de los pasajeros, con un rango que va desde 7 hasta 85 años. La edad promedio es de aproximadamente 39.43 años, con una desviación estándar de aproximadamente 15.12, lo que indica cierta variabilidad en las edades. El análisis de esta variable podría revelar cómo la satisfacción varía según la edad de los pasajeros.
Columna "Flight Distance": Muestra la distancia de vuelo para cada pasajero, que varía desde 31 hasta 4,983 millas. La distancia promedio es de aproximadamente 1,190.32 millas, con una desviación estándar de alrededor de 997.45, lo que indica una variabilidad significativa. Esta variable podría influir en la satisfacción, ya que vuelos más largos pueden implicar diferentes experiencias.
Columnas de satisfacción de servicios (por ejemplo, "Inflight wifi service," "Departure/Arrival time convenient," "Ease of Online booking," etc.): Estas columnas representan niveles de satisfacción en diferentes aspectos del servicio de la aerolínea, como wifi en vuelo, conveniencia de la hora de salida/llegada, facilidad de reserva en línea, ubicación de la puerta, comida y bebida, abordaje en línea, comodidad del asiento, entre otros. Cada una de estas columnas tiene una puntuación que varía del 0 al 5, lo que sugiere una escala de satisfacción. El análisis de estas variables puede revelar qué aspectos del servicio están más relacionados con la satisfacción de los pasajeros y cómo se distribuyen las calificaciones.
Columna "Departure Delay in Minutes": Representa la cantidad de minutos de retraso en la hora de salida, con un valor mínimo de 0 y un valor máximo de 1,592 minutos. La mayoría de los vuelos parecen tener un retraso bajo, ya que el tercer cuartil (75%) se encuentra en 12 minutos. El análisis de esta variable podría ayudar a comprender cómo los retrasos en la salida afectan la satisfacción de los pasajeros.
Columna "Arrival Delay in Minutes": Similar a la columna anterior, pero para el retraso en la hora de llegada. La mediana (50%) es de 0 minutos, lo que sugiere que al menos la mitad de los vuelos llegaron a tiempo, mientras que el valor máximo es de 1,584 minutos, lo que indica vuelos con retrasos significativos. Esta variable es relevante para evaluar la puntualidad y su impacto en la satisfacción de los pasajeros.
Run to view results
Gender (Género): Se observa que en la categoría "Gender," las dos categorías posibles son "Female" y "Male." El resultado muestra que hay 65,899 pasajeros de género femenino y 63,981 pasajeros de género masculino en el conjunto de datos. Esto proporciona una visión de la distribución de género de los pasajeros en el conjunto de datos.
Customer Type (Tipo de Cliente): Para la variable "Customer Type," se distinguen dos categorías: "Loyal Customer" (Cliente Leal) y "disloyal Customer" (Cliente Desleal). El resultado indica que hay 106,100 clientes leales y 23,780 clientes desleales en el conjunto de datos. Esta información es relevante para comprender la lealtad de los clientes.
Type of Travel (Tipo de Viaje): En la variable "Type of Travel," se identifican dos categorías: "Business travel" (Viaje de Negocios) y "Personal Travel" (Viaje Personal). El análisis muestra que hay 89,693 pasajeros que viajaron por negocios y 40,187 que viajaron por motivos personales.
Class (Clase): Para la variable "Class," se encuentran tres categorías: "Business" (Clase Ejecutiva), "Eco" (Económica) y "Eco Plus." Los resultados indican que hay 62,160 pasajeros en clase ejecutiva, 58,309 en clase económica y 9,411 en la clase económica premium ("Eco Plus").
Satisfaction (Satisfacción): La variable objetivo "Satisfaction" (Satisfacción) muestra dos categorías posibles: "neutral or dissatisfied" (neutral o insatisfecho) y "satisfied" (satisfecho). El análisis revela que 73,452 pasajeros se encuentran en la categoría de neutral o insatisfecho, mientras que 56,428 pasajeros están satisfechos.
1.4 Limpieza y preparación de los datos
Run to view results
Run to view results
Run to view results
Se observa que la mayoría de las columnas no tienen valores nulos. Sin embargo, la columna "Arrival Delay in Minutes" tiene 393 valores nulos. Esto significa que hay 393 registros en los que no se registró ningún valor para la variable "Arrival Delay in Minutes."
La identificación de valores nulos es un paso crítico en la preparación de datos, ya que los valores faltantes pueden afectar negativamente el análisis y los modelos de predicción.
Run to view results
En este caso, el resultado indica que no se encontraron filas duplicadas en el conjunto de datos. Esto significa que no hay registros idénticos en todas las columnas del DataFrame.
La identificación y eliminación de valores duplicados es un paso importante en la preparación de datos, ya que asegura que cada registro sea único y evita distorsiones en el análisis y los resultados. La ausencia de filas duplicadas en este conjunto de datos es un hallazgo positivo y sugiere que la calidad de los datos es alta en términos de duplicados.
Run to view results
El escalamiento de variables numéricas es una etapa esencial en la preparación de datos que busca garantizar que las características numéricas tengan escalas comparables. Cuando se trabaja con algoritmos de aprendizaje automático, es fundamental que las variables numéricas tengan un rango similar, para que ningún atributo influya de manera desproporcionada en el modelo debido a su escala. El código implementado utiliza la técnica de RobustScaler de la librería scikit-learn para llevar a cabo este proceso.
El RobustScaler ajusta y transforma estas columnas para que tengan una distribución más robusta en presencia de valores atípicos. El resultado es que las variables escaladas tienen una escala similar, lo que facilita la comparación y el uso en modelos de aprendizaje automático.
Run to view results
Las variables categóricas nominales representan categorías sin un orden inherente, como género, tipo de cliente y tipo de viaje. La codificación one-hot convierte estas categorías en columnas binarias, lo que facilita su incorporación en modelos de aprendizaje automático.
La codificación one-hot se aplica a las columnas categóricas identificadas. Esto implica crear nuevas columnas binarias para cada categoría presente en las variables categóricas originales. Por ejemplo, si la variable "Gender" tiene dos categorías, "Male" y "Female," se crearán dos nuevas columnas binarias con estos nombres. Los valores en estas columnas serán 1 si la observación pertenece a esa categoría y 0 en caso contrario.
Run to view results
Las variables categóricas ordinales son aquellas que tienen un orden inherente, como en este caso, la clase de viaje ("Class"), que puede ser "Business," "Eco," y "Eco Plus." El escalamiento de variables categóricas ordinales es crucial cuando se trabaja con modelos de aprendizaje automático, ya que permite que el modelo comprenda el orden y la jerarquía inherente en estas variables. Esto asegura que el modelo tome decisiones informadas basadas en la jerarquía de las categorías. En este caso, la codificación ordinal de la clase de viaje permite que el modelo distinga las diferentes clases de manera adecuada.
Run to view results
Se realiza el escalamiento de la variable objetivo mediante el uso de la técnica de codificación de etiquetas (Label Encoding). La variable objetivo, en este caso, es "satisfaction," que representa el nivel de satisfacción del cliente. El escalamiento de la variable objetivo es importante para que los algoritmos de aprendizaje automático puedan trabajar con esta variable, ya que la mayoría de los algoritmos requieren que la variable objetivo sea numérica.
La codificación se aplica a la columna de la variable objetivo "satisfaction." Cada categoría en esta columna se asigna a un valor numérico único. Por ejemplo, si "satisfaction" tiene dos categorías, como "neutral or dissatisfied" y "satisfied," el LabelEncoder podría asignar 0 a "neutral or dissatisfied" y 1 a "satisfied."
Run to view results
En esta etapa se abordó el manejo de los valores nulos en la variable "Arrival Delay in Minutes" (Retraso en Minutos a la Llegada) mediante la imputación de valores utilizando un algoritmo de aprendizaje automático, dado que se trataban de demasiados datos (393) como para ser eliminados. Se decidió que debían ser estimados para que el conjunto de datos fuera completo y pudiera realizar análisis o construir modelos de manera efectiva.
Separación de Datos: En el primer paso, se separan los datos en dos conjuntos:
Datos de Entrenamiento: Este conjunto contiene las observaciones en las que no hay valores nulos en la variable "Arrival Delay in Minutes." Estos datos se utilizan para entrenar el modelo de aprendizaje automático. Datos a Imputar: Este conjunto incluye las observaciones que tienen valores nulos en "Arrival Delay in Minutes." Estos son los datos que se intentarán imputar. Selección del Modelo: Se selecciona un modelo de regresión lineal (LinearRegression) como el algoritmo de aprendizaje automático para imputar los valores faltantes. La elección de un modelo se basa en la relación que se busca establecer entre las otras variables del conjunto de datos y la variable objetivo "Arrival Delay in Minutes."
Entrenamiento del Modelo: El modelo de regresión lineal se entrena utilizando los datos de entrenamiento. Las características (variables independientes) se obtienen eliminando la columna "Arrival Delay in Minutes," y la variable objetivo es la columna "Arrival Delay in Minutes."
Predicción de Valores Faltantes: Se utiliza el modelo entrenado para predecir los valores que faltan en la variable "Arrival Delay in Minutes" en el conjunto de datos a imputar. Las características (variables independientes) de este conjunto se obtienen de las observaciones con valores nulos en "Arrival Delay in Minutes."
Sustitución de Valores Nulos: Las predicciones obtenidas se utilizan para reemplazar los valores nulos en la variable "Arrival Delay in Minutes" en el conjunto de datos original. Esto permite que la variable objetivo esté completa y lista para su análisis posterior.
Verificación de Valores Nulos: Se verifica que no haya valores nulos restantes en "Arrival Delay in Minutes" en el conjunto de datos. El resultado indica que no quedan valores nulos en esta variable, lo que confirma que la imputación se realizó con éxito.
El manejo de valores nulos mediante imputación con un modelo de aprendizaje automático es una estrategia útil para completar gran cantidad de datos faltantes de manera informada. En este caso, se utilizó una regresión lineal para predecir los retrasos en minutos a la llegada, lo que puede ser importante para el análisis y la toma de decisiones relacionadas con la satisfacción de los clientes de la aerolínea.
Run to view results
La verificación de la dimensionalidad es importante para garantizar que no se hayan perdido registros o columnas durante las etapas de preprocesamiento de datos. La dimensión actual del conjunto de datos, en este caso, muestra que se han mantenido las 129880 observaciones y que el conjunto de datos ahora contiene 23 variables (confirma que se eliminaron 2 variables que no eran de interés), lo que indica que no se han perdido datos críticos durante el proceso de limpieza y preparación. Esto confirma que el conjunto de datos está listo para su análisis y modelización.
2. Creación y evaluación del modelo
2.1 Separación de variables
Run to view results
En este paso, se crea el conjunto de datos X que contiene todas las columnas del conjunto de datos original excepto la variable objetivo. En este caso, la variable objetivo es "satisfaction," que se ha eliminado de X. Las características representan la información que se utilizará para predecir la satisfacción de los clientes de la aerolínea. Asimismo, se crea la variable y, que contiene la columna "satisfaction." Esta variable objetivo se utiliza para entrenar y evaluar el modelo con el objetivo de predecir si un cliente está satisfecho o insatisfecho con su experiencia de vuelo.
2.2 División de datos de entrenamiento y prueba
Run to view results
1. División del Conjunto de Datos: Se utiliza la función train_test_split de la biblioteca scikit-learn para dividir el conjunto de datos en dos subconjuntos:
Conjunto de Entrenamiento (X_train y y_train): Este conjunto se utiliza para entrenar el modelo de aprendizaje automático. Contiene una parte de los datos que el modelo utilizará para aprender patrones y relaciones entre las características y la variable objetivo. Conjunto de Prueba (X_test y y_test): Este conjunto se utiliza para evaluar el rendimiento del modelo entrenado. Contiene datos que el modelo no ha visto durante el entrenamiento y se utiliza para realizar predicciones y medir su precisión.
2. Parámetros de División: Se especifica el parámetro test_size=0.3, lo que significa que el 30% de los datos se utilizarán como conjunto de prueba, y el 70% restante se utilizará como conjunto de entrenamiento. Además, se establece el parámetro random_state=42 para asegurar que la división sea reproducible.
3. Verificación de Dimensiones: Se verifica la dimensionalidad de los conjuntos resultantes:
X_train: Contiene 90916 observaciones (registros) y 22 características (columnas). X_test: Contiene 38964 observaciones y 22 características. y_train: Contiene 90916 etiquetas de la variable objetivo. y_test: Contiene 38964 etiquetas de la variable objetivo.
La división en conjuntos de entrenamiento y prueba es fundamental para evaluar la capacidad del modelo para generalizar a nuevos datos. Los datos de entrenamiento permiten al modelo aprender patrones, mientras que los datos de prueba se utilizan para medir su rendimiento en datos no vistos previamente. La verificación de dimensiones es importante para asegurarse de que la división se haya realizado correctamente y que los conjuntos tengan el tamaño esperado.
2.3 Búsqueda de mejor modelo con hiperparámetros
Run to view results
1. Creación del Modelo Inicial: Se crea un objeto de clasificador de Árbol de Decisión (DecisionTreeClassifier) con un estado aleatorio fijo (random_state=42) para garantizar la reproducibilidad de los resultados.
2. Definición de Hiperparámetros a Ajustar: Se especifican los hiperparámetros del Árbol de Decisión que se desean ajustar y sus posibles valores en un diccionario param_grid. Los hiperparámetros que se ajustarán son:
criterion: El criterio utilizado para evaluar la calidad de una división en el árbol, con opciones 'gini' y 'entropy'. max_depth: La profundidad máxima del árbol, con opciones 'None', 10, 20 y 30. min_samples_split: El número mínimo de muestras requeridas para realizar una división en el árbol, con opciones 2, 5 y 10. Creación del Objeto de Búsqueda de Hiperparámetros: Se crea un objeto GridSearchCV que realizará la búsqueda de hiperparámetros. Se especifica el estimador (modelo base), el diccionario de hiperparámetros, la validación cruzada con 5 particiones (cv=5) y la métrica de evaluación que se utilizará, en este caso, la precisión (scoring='accuracy').
3. Búsqueda de Hiperparámetros en los Datos de Entrenamiento: Se realiza la búsqueda de hiperparámetros utilizando los datos de entrenamiento (X_train y y_train). El proceso de búsqueda considera todas las combinaciones posibles de hiperparámetros y evalúa el rendimiento del modelo en cada configuración.
4. Mejor Modelo y Mejores Hiperparámetros: Una vez finalizada la búsqueda, se obtiene el mejor modelo con los hiperparámetros óptimos y se almacenan en best_model y best_params, respectivamente. En este caso, el mejor modelo se configura con el criterio 'entropy', una profundidad máxima de 20 y un número mínimo de muestras para dividir de 10.
5. Verificación de Resultados: Se imprimen en pantalla el mejor modelo encontrado y los hiperparámetros óptimos. Estos resultados son fundamentales, ya que permiten identificar la configuración que se espera tenga el mejor rendimiento en la tarea de clasificación de la satisfacción de los clientes.
La búsqueda de hiperparámetros es un proceso importante para optimizar el rendimiento del modelo y seleccionar la configuración que mejor se adapte a los datos y al problema en cuestión. En este caso, se ha identificado un modelo óptimo con ciertos hiperparámetros que se utilizará para la clasificación de la satisfacción de los clientes.
2.4 Creación de objeto y entrenamiento del mejor modelo encontrado
Run to view results
Se crea, entrena y ajusta el mejor modelo encontrado.
Run to view results
2.5 Resultados en matriz de confusión
Run to view results
La matriz de confusión consta de cuatro elementos, que se pueden interpretar de la siguiente manera:
Verdaderos Positivos (VP): 20,907 - Esto representa el número de muestras que fueron clasificadas correctamente como "satisfecho" (satisfacción positiva) por el modelo.
Falsos Positivos (FP): 1,072 - Estos son los casos en los que el modelo predijo incorrectamente "satisfecho" cuando en realidad la satisfacción era negativa. Es decir, se produjo un error de clasificación positiva.
Falsos Negativos (FN): 1,056 - Estos son los casos en los que el modelo predijo incorrectamente "insatisfecho" cuando en realidad la satisfacción era positiva. Es decir, se produjo un error de clasificación negativa.
Verdaderos Negativos (VN): 15,929 - Esto representa el número de muestras que fueron clasificadas correctamente como "insatisfecho" (satisfacción negativa) por el modelo.
Esta matriz de confusión permite evaluar cómo se comporta el modelo en términos de aciertos y errores de clasificación. A partir de esta matriz, se pueden calcular diversas métricas de evaluación, como la precisión, la sensibilidad (recall), la especificidad y la puntuación F1, entre otras, para obtener una comprensión más completa del rendimiento del modelo en la tarea de clasificación de la satisfacción de los clientes.
2.6 Evaluación con métricas de rendimiento y reporte de clasificación
Run to view results
La métrica de exactitud (accuracy) es una medida general que evalúa la proporción de predicciones correctas realizadas por el modelo en relación con el número total de predicciones. En este caso, la exactitud se calcula de la siguiente manera:
Exactitud (Accuracy) = (Verdaderos Positivos + Verdaderos Negativos) / (Verdaderos Positivos + Falsos Positivos + Falsos Negativos + Verdaderos Negativos) El valor de la exactitud se encuentra entre 0 y 1, donde 1 representa un modelo que realiza todas las predicciones correctamente y 0 representa un modelo que no acierta ninguna predicción.
En el resultado generado por el código, la exactitud se reporta como "Exactitud: 0.9453854840365465". Esto significa que el modelo de Árbol de Decisión alcanzó una tasa de exactitud del 94.54%, lo que indica que aproximadamente 95% de las predicciones realizadas por el modelo son correctas en comparación con el conjunto de prueba.
Run to view results
2.7 Interpretación de métricas de rendimiento
En general, el modelo muestra un rendimiento sólido, con altos valores de precisión, recall y F1-score para ambas clases. La precisión general del 95% indica que el modelo es capaz de clasificar correctamente la satisfacción de los pasajeros en la gran mayoría de los casos en el conjunto de prueba.
3. Determinación de los atributos más importantes según el modelo
3.1 Gráfica del modelo
Run to view results
3.2 Obtención de los coeficientes de importancia por cada atributo, en base al criterio de pureza
Run to view results
3.3 Interpretación de los atributos más importantes en base al criterio de pureza
Estos coeficientes indican cuánto contribuye cada atributo a la toma de decisiones del modelo en función de la pureza. A continuación, se interpreta el resultado en base al gráfico de árbol y los coeficientes de importancia encontrados:
Online boarding: Es el atributo más importante con una importancia del 32.42%. Esto significa que "Online boarding" tiene el mayor impacto en la toma de decisiones del modelo.
Inflight wifi service: Le sigue en importancia con un 20.53%. Indica que la satisfacción relacionada con el servicio de wifi a bordo es un factor significativo.
Type of Travel_Personal Travel: El tipo de viaje "Personal Travel" tiene una importancia del 14.05%, lo que sugiere que el motivo del viaje es relevante para la satisfacción.
Inflight entertainment: Este atributo tiene una importancia del 5.28%, lo que lo posiciona como un factor moderadamente influyente en la satisfacción.
Customer Type_disloyal Customer: El tipo de cliente "disloyal customer" tiene una importancia del 5.00%.
Class: La clase del vuelo contribuye con una importancia del 4.01%.
Checkin service, Baggage handling, Seat comfort, Gate location, Age, Inflight service, Flight Distance, Cleanliness, Leg room service, Arrival Delay in Minutes, y On-board service son atributos adicionales, cada uno con su propia importancia en el rango del 1% al 2%.
Departure Delay in Minutes, Departure/Arrival time convenient, Food and drink, Ease of Online booking, y Gender_Male tienen las importancias más bajas, todas por debajo del 1%.
4. Predicciones y probabilidad
Run to view results
Los resultados proporcionados en la tabla muestran las probabilidades de predicción para las dos clases de satisfacción, calculadas por el modelo de Árbol de Decisión. Cada fila de la tabla corresponde a un registro en el conjunto de prueba (X_test).
a. Probabilidad_neutral_or_dissatisfied: Representa la probabilidad de que el cliente esté "neutral o insatisfecho" con la aerolínea. b. Probabilidad_satisfied: Representa la probabilidad de que el cliente esté "satisfecho" con la aerolínea.
A continuación, se proporciona una interpretación detallada de algunos de los primeros registros:
Por una parte, la gran mayoría de los registros como se puede observar por ejemplo, del primer al décimo registro, se obtiene una probabilidad del 100% de estar "neutral o insatisfecho" y una probabilidad del 0% de estar "satisfecho". Por otra parte, se obtienen proporcionalmente algunos pocos registros, cuya probabilidad en más incierta, como es el caso del undécimo registro, por ejemplo, que muestra una probabilidad del 66.67% de estar "neutral o insatisfecho" y una probabilidad del 33.33% de estar "satisfecho". Esto indica cierta ambigüedad en tal clasificación. Ahora bien, estas probabilidades pueden ser utilizadas para evaluar la confianza del modelo en sus predicciones y tomar decisiones basadas en estas. Por lo tanto, estas probabilidades son valiosas para comprender la calidad de las predicciones y pueden ser utilizadas en aplicaciones como la gestión de riesgos y toma de decisiones.
Conclusiones
En el presente "Proyecto de análisis y predicción de satisfacción de clientes de aerolínea con algoritmo de clasificación", se han alcanzado las siguientes conclusiones significativas a lo largo de las diversas etapas que lo componen:
En resumen, este proyecto puede aportar valor en la comprensión y predicción de la satisfacción de los clientes de la aerolínea. Por otro lado, se podría concebir que los resultados obtenidos son esenciales para la industria de la aviación, ya que brindan información relevante que puede ser utilizada para mejorar la calidad de los servicios y la satisfacción de los clientes. Además, este proyecto demuestra la eficacia de las técnicas de aprendizaje automático en la toma de decisiones basadas en datos, lo que puede tener un impacto significativo en la retención y la fidelización de los clientes.