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:
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.
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!