import pandas as pd import joblib # Load model and encoders model = joblib.load("model/model.pkl") encoders = joblib.load("model/encoders.pkl") def predict_transaction(data_dict): # Convert dict to dataframe df = pd.DataFrame([data_dict]) # Process time df["hour"] = pd.to_datetime(df["time"], format="%H:%M").dt.hour df.drop(columns=["check_id", "time"], inplace=True) # Encode categorical features for col in ["employee_id", "terminal_id"]: df[col] = encoders[col].transform(df[col]) # Predict prediction = model.predict(df)[0] return "Suspicious" if prediction == 1 else "Not Suspicious" # Example usage if __name__ == "__main__": sample = { "check_id": 1005, "employee_id": "E101", "total": 100, "discount_amount": 90, "item_count": 1, "time": "12:10", "terminal_id": "T1" } result = predict_transaction(sample) print("Prediction:", result)