import joblib import pandas as pd model = joblib.load("model_pty.pkl") def predict_pty(pa, wicope, backlog, cuaca, resign, bad_ethic, incompetent): data = pd.DataFrame([{ "PA": pa, "WICOPE": wicope, "backlog": backlog, "cuaca_bin": 1 if cuaca == "hujan" else 0, "resign": resign, "bad_ethic": bad_ethic, "incompetent": incompetent }]) result = model.predict(data)[0] return int(result) def analyze_causes(pa, wicope, backlog, cuaca, resign, bad_ethic, incompetent): alasan = [] if pa < 90: alasan.append("PA rendah (<90%)") if wicope < 90: alasan.append("WICOPE <90%") if backlog > 30: alasan.append("Backlog terlalu banyak") if cuaca == "hujan": alasan.append("Cuaca buruk") if resign > 1: alasan.append("Tingkat resign tinggi") if bad_ethic > 0: alasan.append("Ada perilaku buruk") if incompetent > 0: alasan.append("SDM tidak kompeten") return alasan def give_recommendation(backlog, pa, resign): rekom = [] if backlog > 30: rekom.append("Percepat eksekusi backlog") if pa < 90: rekom.append("Tingkatkan ketersediaan alat") if resign > 1: rekom.append("Cegah resign dengan retensi") return rekom