Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Predictive Process Monitoring Feature Factory Not Progressing #13

Open
TKForgeron opened this issue Aug 8, 2023 · 0 comments
Open

Predictive Process Monitoring Feature Factory Not Progressing #13

TKForgeron opened this issue Aug 8, 2023 · 0 comments

Comments

@TKForgeron
Copy link
Contributor

Hi,

I'm constructing my Feature_Storage object using ocpa.algo.predictive_monitoring.factory.apply(), but it does not load. The issue arises when I work with the order management log (running-example.jsonocel). With the custom industrial OCEL I have it works fine, and also with BPI17 it does not show any troubles.

I have tried a few things already:

  • use LEAD_TYPE instead of CONN_COMP
  • try different object types as leading type.
  • exclude "customers" as an object type (I've transformed the OCEL to have this as event attributes)
  • exclude event attributes from the Feature_Storage construction factory.

I understand that it takes longer because of the longer OC process executions, but I cannot understand why it does not run at all. Even more so, as I've run it with other datasets. Moreover, I've seen the code of your last publication (preserving OC structures), and there it seems to work.

Can you help me with this?

Thanks in advance!

Here is an excerpt from my notebook (I've also let it run 12 hours before, but no luck):
afbeelding

Here is the script I'm using:

import ocpa.objects.log.importer.ocel.factory as ocel_import_factory
import ocpa.algo.predictive_monitoring.factory as feature_factory
ocel = ocel_import_factory.apply(
ocel_in_file, parameters={"execution_extraction": "leading_type","leading_type": "orders"}
)
all_acts = ocel.log.log["event_activity"].unique()
event_level_features = (
{
f"C2{char}": (feature_factory.EVENT_PRECEDING_ACTIVITIES, (act,))
for act, char in zip(all_acts, string.ascii_lowercase)
}
| {
"P2": (feature_factory.EVENT_ELAPSED_TIME, ()),
"P3": (
feature_factory.EVENT_REMAINING_TIME,
(),
),
# "P4": (feature_factory.EVENT_FLOW_TIME, ()),
"P5": (feature_factory.EVENT_SYNCHRONIZATION_TIME, ()),
# "P6": (feature_factory.EVENT_SOJOURN_TIME, ()),
}
| {
f"O3{char}": (feature_factory.EVENT_PREVIOUS_TYPE_COUNT, (ot,))
for ot, char in zip(objects_metadata, string.ascii_lowercase)
}
)
feature_storage = feature_factory.apply(
ocel,
event_based_features=list(event_level_features.values()),
event_attributes=[f"event_{ea}" for ea in event_attributes]
) # takes much too long when 'customers' is an object type

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant