File size: 1,266 Bytes
dd756d0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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