Crate rust_rule_miner

Crate rust_rule_miner 

Source
Expand description

§rust-rule-miner

Automatic rule discovery from historical data using association rule mining, sequential pattern mining, and graph-based pattern matching.

§Quick Start

use rust_rule_miner::{RuleMiner, Transaction, MiningConfig, MiningAlgorithm};
use chrono::Utc;

// Load transactions
let transactions = vec![
    Transaction::new("tx1", vec!["Laptop".to_string(), "Mouse".to_string()], Utc::now()),
    Transaction::new("tx2", vec!["Laptop".to_string(), "Keyboard".to_string()], Utc::now()),
];

// Configure mining
let config = MiningConfig {
    min_support: 0.3,
    min_confidence: 0.7,
    min_lift: 1.0,
    max_time_gap: None,
    algorithm: MiningAlgorithm::Apriori,
};

// Mine rules
let mut miner = RuleMiner::new(config);
miner.add_transactions(transactions).unwrap();
let rules = miner.mine_association_rules().unwrap();

Re-exports§

pub use data_loader::ColumnMapping;
pub use config::MiningAlgorithm;
pub use config::MiningConfig;
pub use errors::MiningError;
pub use errors::Result;
pub use export::grl::GrlConfig;
pub use export::grl::RuleTemplate;
pub use mining::RuleMiner;
pub use transaction::Transaction;
pub use types::AssociationRule;
pub use types::FrequentItemset;
pub use types::ItemSet;
pub use types::Pattern;
pub use types::PatternMetrics;
pub use types::PatternType;
pub use types::SequentialPattern;

Modules§

config
data_loader
Data loading utilities for Excel and CSV files using excelstream
engine
Rule engine integration module
errors
export
graph
mining
transaction
types