Crates.io | fp-growth |
lib.rs | fp-growth |
version | 0.1.6 |
source | src |
created_at | 2021-03-27 05:07:06.521164 |
updated_at | 2021-04-20 10:12:56.922366 |
description | An implementation of the FP-Growth algorithm in pure Rust |
homepage | https://github.com/JmPotato/fp-growth-rs |
repository | https://github.com/JmPotato/fp-growth-rs |
max_upload_size | |
id | 374080 |
size | 28,807 |
An implementation of the FP-Growth algorithm in pure Rust, which is inspired by enaeseth/python-fp-growth.
Add this to your Cargo.toml
:
[dependencies]
fp-growth = "0.1"
use fp_growth::algorithm::FPGrowth;
fn main() {
let transactions = vec![
vec!["e", "c", "a", "b", "f", "h"],
vec!["a", "c", "g"],
vec!["e"],
vec!["e", "c", "a", "g", "d"],
vec!["a", "c", "e", "g"],
vec!["e"],
vec!["a", "c", "e", "b", "f"],
vec!["a", "c", "d"],
vec!["g", "c", "e", "a"],
vec!["a", "c", "e", "g"],
vec!["i"],
];
let minimum_support = 2;
let fp_growth_str = FPGrowth::<&str>::new(transactions, minimum_support);
let result = fp_growth_str.find_frequent_patterns();
println!("The number of results: {}", result.frequent_patterns_num());
for (frequent_pattern, support) in result.frequent_patterns().iter() {
println!("{:?} {}", frequent_pattern, support);
}
}
fp-growth-rs
is distributed under the terms of the MIT license.
See LICENSE for details.