import os import joblib import numpy as np def predict(array): label_value_mapping={"No_Machine_Failure":"No", "Machine_Failure":"Yes"} cwd=os.getcwd() transform_pth=os.path.join(cwd,"app","transform.pkl") transform=joblib.load(transform_pth) encoder_pth=os.path.join(cwd,"app","encoder.pkl") encoder=joblib.load(encoder_pth) scaled_array=transform.transform(array) model_pth=os.path.join(cwd,"app","model.pkl") trained_model=joblib.load(model_pth) idx=trained_model.predict(scaled_array)[0].item() label=encoder.inverse_transform([idx]).item() confidence=np.max(trained_model.predict_proba(scaled_array)).item() return {"Downtime":label_value_mapping[label], "Confidence":confidence}