Spaces:
No application file
No application file
| 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 | |