3个版本 (破坏性)
0.3.0 | 2018年12月6日 |
---|---|
0.2.0 | 2018年7月31日 |
0.1.0 | 2018年7月19日 |
#1930 in 算法
35KB
203 行
fuzzy_dbscan
模糊DBSCAN算法的实现 [1]。
模糊DBSCAN是一种层次化模糊聚类算法,它可以以某种方式将一组点分组,使得一个点可以属于多个组。点的分配用类别(核心、边界、噪声)和软标签(介于0.0和1.0之间)表示。只有边界类别的点可以被模糊分配。
这是两个略微相连的簇(红色和蓝色)的示例,过渡被分配给两个簇,即模糊(红色 + 蓝色 = 紫色)。核心点有包含的圆圈,而边界点没有。透明度表示成员度,即软标签。
用法
请参阅文档以获取示例。
用法(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