Skip to main content

An implementation of CBA algorithm

Project description

pyARC

License: MIT

pyARC is an implementation of CBA (Classification Based on Assocation) algorithm introduced in

Liu, B. Hsu, W. and Ma, Y (1998). Integrating Classification and Association Rule Mining. Proceedings KDD-98, New York, 27-31 August. AAAI. pp 80-86.

In addition, pyARC contains the implementation of QCBA (Quantitative CBA) algorithm introduced in

KLIEGR, Tomas. Quantitative CBA: Small and Comprehensible Association Rule Classification Models. arXiv preprint arXiv:1711.10166, 2017.

The use of QCBA algorithm is demonstrated in this jupyter notebook.

The fim package is used for the rule generation step.

If you find this package useful in your research, please cite (EasyChair link):

 @techreport{filip2018classification,
  title={Classification based on Associations (CBA)-a performance analysis},
  author={Filip, Ji{\v{r}}{\'\i} and Kliegr, Tom{\'a}{\v{s}}},
  year={2018},
  institution={EasyChair}
}

Installation

pip install pyarc

For using pyARC, the fim package needs to be installed (refer to http://www.borgelt.net/pyfim.html for installation guide).

Testing

python -m unittest discover -s pyarc/test  -p '*test_*.py'

Examples

Simplest example

from pyarc import CBA, TransactionDB
import pandas as pd

data_train = pd.read_csv("iris.csv")
data_test = pd.read_csv("iris.csv")

txns_train = TransactionDB.from_DataFrame(data_train)
txns_test = TransactionDB.from_DataFrame(data_test)


cba = CBA(support=0.20, confidence=0.5, algorithm="m1")
cba.fit(txns_train)

accuracy = cba.rule_model_accuracy(txns_test) 

Using top_rules function to mine the best rules possible

from pyarc import TransactionDB
from pyarc.algorithms import (
    top_rules,
    createCARs,
    M1Algorithm,
    M2Algorithm
)
import pandas as pd


data_train = pd.read_csv("iris.csv")
data_test = pd.read_csv("iris.csv")

txns_train = TransactionDB.from_DataFrame(data_train)
txns_test = TransactionDB.from_DataFrame(data_test)

# get the best association rules
rules = top_rules(txns_train.string_representation)

# convert them to class association rules
cars = createCARs(rules)

classifier = M1Algorithm(cars, txns_train).build()
# classifier = M2Algorithm(cars, txns_train).build()

accuracy = classifier.test_transactions(txns_test)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyarc-1.1.4.tar.gz (25.8 kB view details)

Uploaded Source

Built Distribution

pyarc-1.1.4-py2.py3-none-any.whl (36.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyarc-1.1.4.tar.gz.

File metadata

  • Download URL: pyarc-1.1.4.tar.gz
  • Upload date:
  • Size: 25.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for pyarc-1.1.4.tar.gz
Algorithm Hash digest
SHA256 3d7587313c09c762700fe3c9cef46d3a498fde67d3de4055557cb5f047d63a32
MD5 f51d83d6ac0ce49497593aff5c11e474
BLAKE2b-256 3d453461d987932d1165ccb83b44882e88a1d9ab299ff212ac4a378479623c13

See more details on using hashes here.

File details

Details for the file pyarc-1.1.4-py2.py3-none-any.whl.

File metadata

  • Download URL: pyarc-1.1.4-py2.py3-none-any.whl
  • Upload date:
  • Size: 36.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/3.7.3

File hashes

Hashes for pyarc-1.1.4-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 beb5669262637eb2dc92b01839e4ca576c87d0424926a818e39f235bb11b4a7e
MD5 db8564d1c3f7c8f24372e0aa0424515b
BLAKE2b-256 910932560e0df50f084e03f344bb57196bbcfbeec90a8f7aa982043be6bc7f45

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page