Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Manos a la obra: utilizando el modelo guardado

Me parece que hay algo que arreglar en la solución propuesta, puesto que el orden de los campos del modelo guardado no es el mismo que se da en la nueva muestra. Por ejemplo la variable "schengen" no se guardó en el modelo, porque no es una de las 13 variables de mayor importancia (es la de menor importancia). La nueva muestra se debe ajustar para que los campos correspondan entre la nueva muestra y las que espera el modelo.

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad
Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

1 respuesta

Hola Manuel, espero que estés bien

Parece que el problema que estás enfrentando es el desajuste entre el orden de las características en el modelo guardado y la nueva muestra que quieres predecir. Para solucionar esto, debes asegurarte de que los datos de entrada estén en el mismo orden que el modelo espera. Aquí te dejo un ejemplo de cómo podrías ajustar tu código:

  1. Verifica el orden de las características del modelo: Usa modelo_pickle.feature_names_in_ para ver el orden exacto de las características que el modelo espera.

  2. Ajusta la nueva muestra: Asegúrate de que los valores en nueva_muestra estén en el mismo orden que las características del modelo. Aquí tienes un ejemplo de cómo hacerlo:

# Orden correcto de las características según el modelo
orden_caracteristicas = [
    'airline_BZ', 'is_holiday', 'aircraft_type_Airbus A320', 
    'aircraft_type_Airbus A330', 'aircraft_type_Embraer E175', 
    'arrival_time', 'aircraft_type_Boeing 787', 'origin_TCY', 
    'origin_CSF', 'origin_PUA', 'origin_TZF', 'week_day_Friday', 
    'origin_MWL'
]

# Nueva muestra ajustada
nueva_muestra_ajustada = [0, 0, 1, 0, 0, 10.8941, 0, 0, 0, 0, 1, 0, 0]

# Crear un DataFrame con las características en el orden correcto
nueva_muestra_df = pd.DataFrame([nueva_muestra_ajustada], columns=orden_caracteristicas)

# Realizar la predicción
prediccion = modelo_pickle.predict(nueva_muestra_df)
print(prediccion)

Asegúrate de que los nombres de las características y el orden coincidan exactamente con los que el modelo espera. Esto debería resolver el problema de desajuste.

Espero haber ayudado y buenos estudios!