The package for action rules mining using Action-Apriori (Apriori Modified for Action Rules Mining)..
Project description
Action Rules
The package for action rules mining using Action-Apriori (Apriori Modified for Action Rules Mining).
- Documentation: https://lukassykora.github.io/action-rules
- GitHub: https://github.com/lukassykora/action-rules
- PyPI: https://pypi.org/project/action-rules/
- Free software: MIT
Installation
$ pip install action-rules
For command-line interface (CLI) usage, the action-rules package must be installed using pipx:
$ pipx install action-rules
Features
Action Rules API
# Import Module
from action_rules import ActionRules
import pandas as pd
# Get Data
transactions = {'Sex': ['M', 'F', 'M', 'M', 'F', 'M', 'F'],
'Age': ['Y', 'Y', 'O', 'Y', 'Y', 'O', 'Y'],
'Class': [1, 1, 2, 2, 1, 1, 2],
'Embarked': ['S', 'C', 'S', 'C', 'S', 'C', 'C'],
'Survived': [1, 1, 0, 0, 1, 1, 0],
}
data = pd.DataFrame.from_dict(transactions)
# Initialize ActionRules Miner with Parameters
stable_attributes = ['Age', 'Sex']
flexible_attributes = ['Embarked', 'Class']
target = 'Survived'
min_stable_attributes = 2
min_flexible_attributes = 1 # min 1
min_undesired_support = 1
min_undesired_confidence = 0.5 # min 0.5
min_desired_support = 1
min_desired_confidence = 0.5 # min 0.5
undesired_state = '0'
desired_state = '1'
# Action Rules Mining
action_rules = ActionRules(
min_stable_attributes=min_stable_attributes,
min_flexible_attributes=min_flexible_attributes,
min_undesired_support=min_undesired_support,
min_undesired_confidence=min_undesired_confidence,
min_desired_support=min_desired_support,
min_desired_confidence=min_desired_confidence,
verbose=True
)
# Fit
action_rules.fit(
data=data, # cuDF or Pandas Dataframe
stable_attributes=stable_attributes,
flexible_attributes=flexible_attributes,
target=target,
target_undesired_state=undesired_state,
target_desired_state=desired_state,
use_sparse_matrix=True, # needs SciPy or Cupyx (if use_gpu is True) installed
use_gpu=False, # needs Cupy installed
)
# Print rules
# Example: [(Age: O) ∧ (Sex: M) ∧ (Embarked: S → C)] ⇒ [Survived: 0 → 1], support of undesired part: 1, confidence of undesired part: 1.0, support of desired part: 1, confidence of desired part: 1.0, uplift: 1.0
for action_rule in action_rules.get_rules().get_ar_notation():
print(action_rule)
# Print rules (pretty notation)
# Example: If attribute 'Age' is 'O', attribute 'Sex' is 'M', attribute 'Embarked' value 'S' is changed to 'C', then 'Survived' value '0' is changed to '1 with uplift: 1.0.
for action_rule in action_rules.get_rules().get_pretty_ar_notation():
print(action_rule)
# JSON export
print(action_rules.get_rules().get_export_notation())
Action Rules CLI
$ action-rules --min_stable_attributes 2 --min_flexible_attributes 1 --min_undesired_support 1 --min_undesired_confidence 0.5 --min_desired_support 1 --min_desired_confidence 0.5 --csv_path 'data.csv' --stable_attributes 'Sex, Age' --flexible_attributes 'Class, Embarked' --target 'Survived' --undesired_state '0' --desired_state '1' --output_json_path 'output.json'
Jupyter Notebook Examples
Performance
- Customer Churn (GPU vs. CPU, sparse matrix vs. dense matrix, Pandas vs. cuDF)
- Scalene Profiling
- GPU Memory Usage - Sparse vs. Dense Matrix
- CPU Usage
- Compare the Action-Rules package with ActionRulesDiscovery package - link to ActionRulesDiscovery package: https://github.com/lukassykora/actionrules
Credits
This package was created with Cookiecutter and the waynerv/cookiecutter-pypackage project template.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
action_rules-1.0.3.tar.gz
(25.1 kB
view details)
Built Distribution
File details
Details for the file action_rules-1.0.3.tar.gz
.
File metadata
- Download URL: action_rules-1.0.3.tar.gz
- Upload date:
- Size: 25.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | afad8878aca40e2bb189c9446dc75b166c3de74bfaf03996481096864a79aa2b |
|
MD5 | c7c6e5bb178a6fb0441ef46d070405d4 |
|
BLAKE2b-256 | ad7cec977ae072861b146c1d99402f15f858904cc4ab860d907792079129f746 |
File details
Details for the file action_rules-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: action_rules-1.0.3-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cdd0d8c3fdca6da4c7b91eae901bb162f427e1846ccb24c5d43a486b494362ab |
|
MD5 | 0580acc0f39dbf8186310f26804d21f3 |
|
BLAKE2b-256 | 629b01b47f4791965c533726c10017f1bb5decc677b5059cdd3cb32e0afb4242 |