Rule Mining Module#

The ex_fuzzy.rule_mining module provides fuzzy rule mining capabilities for extracting meaningful rules from datasets.

Overview#

This module implements algorithms for discovering frequent fuzzy patterns and generating fuzzy rules using support-based itemset mining.

Functions#

Core Functions#

Rule Generation#

Mining Functions#

Rule Pruning#

Examples#

Basic Rule Mining#

import ex_fuzzy.rule_mining as rm
import ex_fuzzy.fuzzy_sets as fs
import pandas as pd
import numpy as np

# Prepare data
X = np.random.rand(100, 4)
y = np.random.randint(0, 3, 100)
data = pd.DataFrame(X)

# Create fuzzy variables
fuzzy_vars = [fs.fuzzyVariable(f"var_{i}", X[:, i], 3, fs.FUZZY_SETS.t1)
              for i in range(X.shape[1])]

# Mine rules
itemsets = rm.rule_search(data, fuzzy_vars, support_threshold=0.1)
rules = rm.generate_rules_from_itemsets(itemsets, nAnts=3)

Multiclass Rule Mining#

# Mine rules for multiclass problem
rules = rm.multiclass_mine_rulebase(
    x=data,
    y=y,
    fuzzy_variables=fuzzy_vars,
    support_threshold=0.05,
    max_depth=3
)

See Also#

  • ex_fuzzy.rules : Rule representation classes

  • ex_fuzzy.fuzzy_sets : Fuzzy variable definitions

  • ex_fuzzy.evolutionary_fit : Rule optimization