Skip to content
forked from UdayLab/PAMI

PAMI is a Python library containing 80+ algorithms to discover useful patterns in various databases across multiple computing platforms. (Active)

License

Notifications You must be signed in to change notification settings

sandeep0509/PAMI

 
 

Repository files navigation

PyPI PyPI - Python Version GitHub license PyPI - Implementation Documentation Status PyPI - Wheel PyPI - Status GitHub issues GitHub forks GitHub stars Downloads Downloads Downloads

Click here for more information

Introduction

PAttern MIning (PAMI) is a Python library containing several algorithms to discover user interest-based patterns in a wide-spectrum of datasets across multiple computing platforms. Useful links to utilize the services of this library were provided below:

  1. User manual https://udaylab.github.io/PAMI/manuals/index.html

  2. Coders manual https://udaylab.github.io/PAMI/codersManual/index.html

  3. Code documentation https://pami-1.readthedocs.io

  4. Datasets https://u-aizu.ac.jp/~udayrage/datasets.html

  5. Discussions on PAMI usage https://github.com/UdayLab/PAMI/discussions

  6. Report issues https://github.com/UdayLab/PAMI/issues

Features

  • ✅ Well-tested and production ready
  • 🔋 High optimized to our best-effort, light-weight, and energy efficient
  • 👀 Proper code documentation
  • 🍼 Ample examples on using various algorithms at ./notebooks folder
  • 🤖 Works with AI libraries such as TensorFlow, PyTorch, and sklearn.
  • ⚡️ Supports Cuda and PySpark
  • 🖥️ Operating System Independence
  • 🔬 Knowledge discovery in static data and streams
  • 🐎 Snappy
  • 🐻 Ease of use

Recent versions

  • Version 2023.07.07: New algorithms: cuApriroi, cuAprioriBit, cuEclat, cuEclatBit, gPPMiner, cuGPFMiner, FPStream, HUPMS, SHUPGrowth New codes to generate synthetic databases
  • Version 2023.06.20: Fuzzy Partial Periodic, Periodic Patterns in High Utility, Code Documentation, help() function Update
  • Version 2023.03.01: prefixSpan and SPADE

Total number of algorithms: 83

Maintenance

Installation

   pip install pami
   pip install 'pami[gpu]'
   pip install 'pami[spark]'

Updation

   pip install --upgrade pami

Uninstallation

   pip uninstall pami 

Tutorials

1. Mining Databases

Transactional databases

  1. Frequent pattern mining: Sample
Basic Closed Maximal Top-k CUDA pyspark
Apriori Open In Colab Closed Basic-Adv maxFP-growth Basic topK Basic-Adv cudaAprioriGCT parallelApriori Basic-Adv
FP-growth Open In Colab cudaAprioriTID parallelFPGrowth Basic-Adv
ECLAT Open In Colab cudaEclatGCT parallelECLAT Basic-Adv
ECLAT-bitSet Basic-Adv
ECLAT-diffset Basic-Adv
  1. Relative frequent pattern mining: Sample
Basic
RSFP Basic-Adv
  1. Frequent pattern with multiple minimum support: Sample
Basic
CFPGrowth
CFPGrowth++
  1. Correlated pattern mining: Sample
Basic
CP-growth Basic -Adv
CP-growth++ Basic-Adv

Temporal databases

  1. Periodic-frequent pattern mining: Sample
Basic Closed Maximal Top-K
PFP-growth Basic-Adv CPFP Basic-Adv maxPF-growth Basic-Adv kPFPMiner Basic-Adv
PFP-growth++ Basic-Adv
PS-growth Basic-Adv
PFP-ECLAT Basic-Adv
  1. Local periodic pattern mining: Sample
Basic
LPPGrowth Basic
LPPMBreadth Basic
LPPMDepth Basic
  1. Partial periodic-frequent pattern mining: Sample
Basic
GPF-growth Basic-Adv
PPF-DFS Basic-Adv
  1. Partial periodic pattern mining: Sample
Basic Closed Maximal
3P-growth Basic-Adv 3P-close Basic-Adv max3P-growth Basic
3P-ECLAT Basic-Adv
G3P-Growth Basic-Adv
  1. Periodic correlated pattern mining: Sample
Basic
EPCP-growth Basic-Adv
  1. Stable periodic pattern mining: Sample
Basic TopK
SPP-growth Basic-Adv TSPIN
SPP-ECLAT Basic-Adv

Geo-referenced (or spatiotemporal) databases

  1. Frequent spatial pattern mining: Sample
Basic
spatialECLAT Basic-Adv
FSP-growth Basic-Adv
  1. Geo referenced Periodic frequent pattern mining: Sample
Basic
GPFPMiner Basic-Adv
  1. Partial periodic spatial pattern mining:Sample
Basic
STECLAT Basic-Adv
  1. Recurring pattern mining: Sample
Basic
RPgrowth Basic-Adv

Utility databases

  1. High utility pattern mining: Sample
Basic
EFIM Basic-Adv
HMiner Basic-Adv
UPGrowth
  1. High utility frequent pattern mining: Sample
Basic
HUFIM Basic-Adv
  1. High utility frequent spatial pattern mining: Sample
Basic
SHUFIM Basic-Adv
  1. High utility spatial pattern mining: Sample
Basic topk
HDSHIM Basic-Adv TKSHUIM
SHUIM Basic
  1. Relative High utility pattern mining: Sample
Basic
RHUIM Basic-Adv
  1. Weighted frequent pattern mining: Sample
Basic
WFIM Basic-Adv
  1. Weighted frequent regular pattern mining: Sample
Basic
WFRIMiner Basic-Adv
  1. Weighted frequent neighbourhood pattern mining: Sample
Basic
SSWFPGrowth

Fuzzy databases

  1. Fuzzy Frequent pattern mining: Sample
Basic
FFI-Miner Basic-Adv
  1. Fuzzy correlated pattern mining: Sample
Basic
FCP-growth Basic-Adv
  1. Fuzzy frequent spatial pattern mining: Sample
Basic
FFSP-Miner Basic-Adv
  1. Fuzzy periodic frequent pattern mining: Sample
Basic
FPFP-Miner Basic-Adv
  1. Geo referenced Fuzzy periodic frequent pattern mining: Sample
Basic
FPFP-Miner Basic-Adv

Uncertain databases

  1. Uncertain frequent pattern mining: Sample
Basic top-k
PUF Basic-Adv TUFP
TubeP Basic-Adv
TubeS Basic-Adv
UVEclat
  1. Uncertain periodic frequent pattern mining: Sample
Basic
UPFP-growth Basic-Adv
UPFP-growth++ Basic-Adv
  1. Uncertain Weighted frequent pattern mining: Sample
Basic
WUFIM Basic

Sequence databases

  1. Sequence frequent pattern mining: Sample
Basic
SPADE Basic-Adv
prefixSpan Basic-Adv
  1. Geo-referenced Frequent Sequence Pattern mining
Basic
GFSP-Miner

Timeseries databases

2. Mining Streams

  1. Frequent pattern mining
Basic
to be written
  1. High utility pattern mining
Basic
HUPMS

3. Mining Graphs

coming soon

About

PAMI is a Python library containing 80+ algorithms to discover useful patterns in various databases across multiple computing platforms. (Active)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 50.2%
  • HTML 39.0%
  • Python 10.6%
  • JavaScript 0.1%
  • CSS 0.1%
  • C++ 0.0%