next_activity_prediction_lifecycle_dual
Dual-head next-event model that predicts:
- next activity (
concept:name) - next lifecycle transition (
lifecycle:transition)
This repository was exported from:
next_activity_prediction_lifecycle_dual\next_activity_prediction_lifecycle_dual\models\start_complete\baseline
Included files
model.kerasmetadata.jsonmetrics.json(if available)history.json(if available)
Metrics
- Activity accuracy:
0.8443847963680949 - Activity macro-F1:
0.6984303181387901 - Lifecycle accuracy:
0.8857407959704411 - Lifecycle macro-F1:
0.8672618282920227 - Joint accuracy:
0.8327037147496438 - Balanced score:
0.7994652870601522
Usage (Python, platform-independent)
import json
import numpy as np
from huggingface_hub import hf_hub_download
from tensorflow import keras
repo_id = "Nixion/next_activity_prediction_lifecycle_dual"
model_path = hf_hub_download(repo_id=repo_id, filename="model.keras")
metadata_path = hf_hub_download(repo_id=repo_id, filename="metadata.json")
with open(metadata_path, "r", encoding="utf-8") as f:
metadata = json.load(f)
model = keras.models.load_model(model_path)
sequence_length = int(metadata["sequence_length"])
activity_to_idx = metadata["activity_to_idx"]
lifecycle_to_idx = metadata["lifecycle_to_idx"]
def pad(xs, n):
return ([0] * (n - len(xs)) + xs)[-n:]
# Example history:
activity_hist = ["A_Create Application", "A_Submitted"]
lifecycle_hist = ["complete", "complete"]
X_act = np.array([pad([activity_to_idx.get(a, 0) for a in activity_hist], sequence_length)], dtype=np.int32)
X_life = np.array([pad([lifecycle_to_idx.get(l, 0) for l in lifecycle_hist], sequence_length)], dtype=np.int32)
pred_activity_probs, pred_lifecycle_probs = model.predict([X_act, X_life], verbose=0)
next_activity_idx = int(np.argmax(pred_activity_probs[0]))
next_lifecycle_idx = int(np.argmax(pred_lifecycle_probs[0]))
idx_to_activity = {int(k): v for k, v in metadata["idx_to_activity"].items()}
idx_to_lifecycle = {int(k): v for k, v in metadata["idx_to_lifecycle"].items()}
print("next_activity:", idx_to_activity.get(next_activity_idx))
print("next_lifecycle:", idx_to_lifecycle.get(next_lifecycle_idx))
- Downloads last month
- -
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support