Skip to main content

Action rules mining package

Project description

Action Rules

License: MIT

Action Rules (actionrules) is an implementation of Action Rules from Classification Rules algorithm described in

Dardzinska, A. (2013). Action rules mining. Berlin: Springer.

If you use this package, please cite:

Sýkora, Lukáš, and Tomáš Kliegr. "Action Rules: Counterfactual Explanations in Python." RuleML Challenge 2020. CEUR-WS. http://ceur-ws.org/Vol-2644/paper36.pdf

GIT repository

https://github.com/lukassykora/actionrules

Installation

pip install actionrules-lukassykora

Jupyter Notebooks

  • Titanic It is the best explanation of all possibilities.
  • Telco A brief demonstration.
  • Ras Based on the example in (Ras, Zbigniew W and Wyrzykowska, ARAS: Action rules discovery based on agglomerative strategy, 2007).
  • Attrition High-Utility Action Rules Mining example.

Example 1

Get data from csv. Get action rules from classification rules. Classification rules have confidence 55% and support 3%. Stable part of action rule is "Age". Flexible attributes are "Embarked", "Fare", "Pclass". Target is a Survived value 1.0. No nan values. Use reduction tables for speeding up. Minimal 1 stable antecedent Minimal 1 flexible antecedent

from actionrules.actionRulesDiscovery import ActionRulesDiscovery

actionRulesDiscovery = ActionRulesDiscovery()
actionRulesDiscovery.read_csv("data/titanic.csv", sep="\t")
actionRulesDiscovery.fit(stable_attributes = ["Age"],
                         flexible_attributes = ["Embarked", "Fare", "Pclass"],
                         consequent = "Survived",
                         conf=55,
                         supp=3,
                         desired_classes = ["1.0"],
                         is_nan=False,
                         is_reduction=True,
                         min_stable_attributes=1,
                         min_flexible_attributes=1,
                         max_stable_attributes=5,
                         max_flexible_attributes=5)
actionRulesDiscovery.get_action_rules()

The output is a list where the first part is an action rule and the second part is a tuple of (support before, support after, action rule support) and (confidence before, confidence after, action rule confidence).

Example 2

Get data from pandas dataframe. Get action rules from classification rules. Classification rules have confidence 50% and support 3%. Stable attributes are "Age" and "Sex". Flexible attributes are "Embarked", "Fare", "Pclass". Target is a Survived that changes from 0.0 to 1.0. No nan values. Use reduction tables for speeding up. Minimal 1 stable antecedent Minimal 1 flexible antecedent

from actionrules.actionRulesDiscovery import ActionRulesDiscovery
import pandas as pd

dataFrame = pd.read_csv("data/titanic.csv", sep="\t")
actionRulesDiscovery = ActionRulesDiscovery()
actionRulesDiscovery.load_pandas(dataFrame)
actionRulesDiscovery.fit(stable_attributes = ["Age", "Sex"],
                         flexible_attributes = ["Embarked", "Fare", "Pclass"],
                         consequent = "Survived",
                         conf=50,
                         supp=3,
                         desired_changes = [["0.0", "1.0"]],
                         is_nan=False,
                         is_reduction=True,
                         min_stable_attributes=1,
                         min_flexible_attributes=1,
                         max_stable_attributes=5,
                         max_flexible_attributes=5)
actionRulesDiscovery.get_pretty_action_rules()

The output is a list of action rules in pretty text form.

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

actionrules-lukassykora-1.1.27.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

actionrules_lukassykora-1.1.27-py3-none-any.whl (20.3 kB view details)

Uploaded Python 3

File details

Details for the file actionrules-lukassykora-1.1.27.tar.gz.

File metadata

File hashes

Hashes for actionrules-lukassykora-1.1.27.tar.gz
Algorithm Hash digest
SHA256 be16bef1c69191ccc9a7840ae9decafd09f73cfb1a3dda81c3618abfce99bf3e
MD5 43bba13faffc93257544e6fb0ef6967f
BLAKE2b-256 5806eee417a3786be86efc5119bf3b79d5f7608073d77e53366b20cf8297c01e

See more details on using hashes here.

File details

Details for the file actionrules_lukassykora-1.1.27-py3-none-any.whl.

File metadata

File hashes

Hashes for actionrules_lukassykora-1.1.27-py3-none-any.whl
Algorithm Hash digest
SHA256 c413e9f1a86d2db44b39ec6b0ad7400ad92f99770f7c942e94185c501e165bd9
MD5 0848d0c8d5f1190708326d8d037245b5
BLAKE2b-256 8df2f2c2fe1e5a6d561123351a7753801eb02e9468a2bc02e92327ab9c0584c6

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