微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js 中的 DBSCAN 实现

如何解决node.js 中的 DBSCAN 实现

我正在使用密度聚类 (https://www.npmjs.com/package/density-clustering)。

我有一个包含 4000 个位置点的数组 - [[long,nat],...]

var clustering = require('density-clustering');
var dbscan = new clustering.DBSCAN();
var clusters = dbscan.run(dataset,50000,600);

无论我向“dbscan.run”提供什么值,cluster 总是返回一个包含 [1,2,3,4....4000] 值的数组。 IE。对于数据集中的 X 个数据点,我得到 X 个簇。

解决方法

基于库的 exampledbscan.run() 调用的返回值是原始 dataset 的索引列表列表(这很有意义)。

要从中获取集群,您必须使用原始数据集将它们映射回来:

const clusters = dbscan.run(dataset,...);
// clusters is now [[id,id,id],[id,...]
const coordinates = clusters.map(clu => clu.map(index => dataset[index]));
// coordinates is now [[[lat,lon],[lat,lon]],...]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。