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 Search#
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 classesex_fuzzy.fuzzy_sets: Fuzzy variable definitionsex_fuzzy.evolutionary_fit: Rule optimization