Metadata-Version: 2.1
Name: processtransformer
Version: 0.1.3
Summary: Process Transformer Network for Predictive Business Process Monitoring Tasks
Home-page: https://github.com/Zaharah/processtransformer
Author: Zaharah Bukhsh
Author-email: z.bukhsh@tue.nl
License: Apache-2.0
Download-URL: https://pypi.org/project/processtransformer/
Description: ## Process Transformer
        
        Transformer Neural Model for Business Process Monitoring Tasks 
        
        #### Tasks
        - Next Activity Prediction
        - Time Prediction of Next Activity
        - Remaining Time Prediction
        
        #### Install 
        ```
        pip install processtransformer
        ```
        
        #### Usage
        ```
        import argparse
        import tensorflow as tf
        from processtransformer import constants
        from processtransformer.data import loader
        from processtransformer.models import transformer
        
        parser = argparse.ArgumentParser(description="Process Transformer - Next Activity Prediction.")
        parser.add_argument("--dataset", required=True, type=str, help="dataset name")
        parser.add_argument("--task", type=constants.Task, 
            default=constants.Task.NEXT_ACTIVITY,  help="task name")
        parser.add_argument("--epochs", default=1, type=int, help="number of total epochs")
        parser.add_argument("--batch_size", default=12, type=int, help="batch size")
        parser.add_argument("--learning_rate", default=0.001, type=float,
                            help="learning rate")
        
        # Load data
        data_loader = loader.LogsDataLoader(name = args.dataset)
        
        (train_df, test_df, x_word_dict, y_word_dict, max_case_length, 
            vocab_size, num_output) = data_loader.load_data(args.task)
        
        # Prepare training examples for next activity prediction task
        train_token_x, train_token_y = data_loader.prepare_data_next_activity(train_df, 
            x_word_dict, y_word_dict, max_case_length)
        
        # Create and train a transformer model
        transformer_model = transformer.get_next_activity_model(
            max_case_length=max_case_length, 
            vocab_size=vocab_size,
            output_dim=num_output)
        
        transformer_model.compile(optimizer=tf.keras.optimizers.Adam(args.learning_rate),
            loss=tf.keras.losses.SparseCategoricalCrossentropy(from_logits=True),
            metrics=[tf.keras.metrics.SparseCategoricalAccuracy()])
            
        transformer_model.fit(train_token_x, train_token_y, 
            epochs=args.epochs, batch_size=args.batch_size)
        ```
        
        See complete code examples within the github repository for other tasks, including preparing raw process data for transformer model.
        
        #### Tools
        - <a href="http://tensorflow.org/">Tensorflow >=2.4</a>
        
Keywords: Business Process Mointoring,Predictive Business Process,Transformer,Attention-Mechanism,Neural Network,Process Transformer
Platform: UNKNOWN
Description-Content-Type: text/markdown
