Metadata-Version: 2.1
Name: cycle-prediction
Version: 1.2.0
Summary: A package to train and predict the end of a process from        history logs
Home-page: https://github.com/fazaki/cycle_prediction/tree/master
Author: Fadi Baskharon
Author-email: nzfadi@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3.6
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: tensorflow (==2.0.1)
Requires-Dist: Keras (==2.3.1)
Requires-Dist: Keras-Applications (==1.0.8)
Requires-Dist: Keras-Preprocessing (==1.1.0)
Requires-Dist: matplotlib (>=3.2.1)
Requires-Dist: numpy (>=1.18.2)
Requires-Dist: pandas (>=1.0.0)
Requires-Dist: scikit-learn (>=0.22.2.post1)
Requires-Dist: scipy (>=1.3.1)
Requires-Dist: seaborn (>=0.10.0)
Requires-Dist: wtte (>=1.1.1)
Provides-Extra: dev
Requires-Dist: pylint (==2.6.0) ; extra == 'dev'
Requires-Dist: twine (>=3.2.0) ; extra == 'dev'
Requires-Dist: pytest (==6.0.1) ; extra == 'dev'
Requires-Dist: pytest-docs (==0.1.0) ; extra == 'dev'

[![GitHub Actions](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2Fatrox%2Fsync-dotenv%2Fbadge&label=build&logo=none)](https://actions-badge.atrox.dev/atrox/sync-dotenv/goto)

# Predicting Remaining Cycle Time from Ongoing Case
![alt text](docs/api/overview.png)
Predicting the remaining cycle time of ongoing cases is one important use case of predictive process monitoring. 
It is machine learning approach based on survival analysis that can learn from complete/ongoing traces.  
we train a neural network to predict the probability density function of the remaining cycle time of a running case. 

# Documentation:

https://fazaki.github.io/cycle_prediction/


# Getting started:

## A) pip installation


#### 1. Cd to home dir
    cd ~

#### 2. Initialize a virtualenv that uses the Python 3.7 available at home directory
    virtualenv -p ~/python-3.7/bin/python3 PROJECTNAME

#### 3. Activate the virtualenv

Windows:

	source ~/PROJECTNAME/Scripts/activate

Linux:

	source ~/PROJECTNAME/bin/activate

#### 4. Install below packages
    pip install cycle-prediction

#### 5. Create a new kernel with the same project name
    pip install -U pip ipykernel
    ipython kernel install --user --name=PROJECTNAME

#### 6. Use the example notebook


## B) Source code installation:

#### 1. Cd to home dir
    cd ~

#### 2. Initialize a virtualenv that uses the Python 3.7 available at home directory
	Virtualenv -p ~/python-3.7/bin/python3 PROJECTNAME

#### 3. Activate the virtualenv

Windows:

	source ~/PROJECTNAME/Scripts/activate

Linux:

	source ~/PROJECTNAME/bin/activate

#### 4. Install ipykernel
    pip install -U pip ipykernel

#### 5.  Clone the repo
    git clone https://github.com/fazaki/time-to-event/tree/master
    cd time-to-event

#### 6.  Install required dependencies: 
    pip install -e .

#### 7.  Use the example notebook


# Theory
- Paper publication in progress


# References

- https://arxiv.org/abs/1612.02130
- https://ragulpr.github.io/assets/draft_master_thesis_martinsson_egil_wtte_rnn_2016.pdf
- https://verenich.github.io/ProcessSequencePrediction/
- https://github.com/ragulpr/wtte-rnn

