Expand description
An implementation of the FuzzyDBSCAN algorithm.
§Example
extern crate fuzzy_dbscan;
#[derive(Debug)]
struct Point {
x: f64,
y: f64,
}
impl fuzzy_dbscan::MetricSpace for Point {
fn distance(&self, other: &Self) -> f64 {
((other.x - self.x).powi(2) + (other.y - self.y).powi(2)).sqrt()
}
}
fn main() {
let points = vec![
Point { x: 0.0, y: 0.0 },
Point { x: 100.0, y: 100.0 },
Point { x: 105.0, y: 105.0 },
Point { x: 115.0, y: 115.0 },
];
let fuzzy_dbscan = fuzzy_dbscan::FuzzyDBSCAN {
eps_min: 10.0,
eps_max: 20.0,
pts_min: 1.0,
pts_max: 2.0,
};
println!("{:?}", fuzzy_dbscan.cluster(&points));
}
Structs§
- Assignment
- An element of a cluster.
- FuzzyDBSCAN
- An instance of the FuzzyDBSCAN algorithm.
Enums§
- Category
- A high-level classification, as defined by the FuzzyDBSCAN algorithm.
Traits§
- Metric
Space - A trait to compute distances between points.