#模糊 #聚类 # #DBSCAN

fuzzy_dbscan

模糊DBSCAN算法的实现

3个版本 (破坏性)

0.3.0 2018年12月6日
0.2.0 2018年7月31日
0.1.0 2018年7月19日

#1930 in 算法

Apache-2.0

35KB
203

fuzzy_dbscan Crates.io Docs.rs

模糊DBSCAN算法的实现 [1]。

模糊DBSCAN是一种层次化模糊聚类算法,它可以以某种方式将一组点分组,使得一个点可以属于多个组。点的分配用类别(核心、边界、噪声)和软标签(介于0.0和1.0之间)表示。只有边界类别的点可以被模糊分配。

Example

这是两个略微相连的簇(红色和蓝色)的示例,过渡被分配给两个簇,即模糊(红色 + 蓝色 = 紫色)。核心点有包含的圆圈,而边界点没有。透明度表示成员度,即软标签。

用法

请参阅文档以获取示例。

用法(WASM)

使用wasm-pack build --target=nodejs(或--target=browser)编译crate到WASM,然后运行它

var FuzzyDBSCAN = require('fuzzy_dbscan.js'); // only for Node.js

var fuzzyDBSCAN = new FuzzyDBSCAN.FuzzyDBSCAN();
fuzzyDBSCAN.eps_min = 10.0;
fuzzyDBSCAN.eps_max = 20.0;
fuzzyDBSCAN.pts_min = 1;
fuzzyDBSCAN.pts_max = 2;

console.log(fuzzyDBSCAN.cluster([{x: 0, y: 0}, {x: 100, y: 100}, {x: 105, y: 105}, {x: 115, y: 115}]));

参考文献

[1] Dino Ienco, and Gloria Bordogna. "Fuzzy extensions of the DBScan clustering algorithm." Soft Computing (2016).

版本控制

本项目遵循语义版本控制指南。

许可

Apache 2.0许可证下发布。版权所有 © 2018 Christoph Schulz。

依赖关系

~1–2MB
~43K SLoC