我正在尝试使用d3.js有效地计算k-means;我可以为当前的方法创建voronoi多边形,但是如何查询每个数据点包含在哪个voronoi多边形中?
我已经计算了每个拟议平均值的距离:
// For each point calculate the nearest mean
// TODO partition the observations according to the Voronoi diagram generated by the means
for (var i = 0; i < xdata.length; i++) {
var nearestDistance = 9999999999;
for (var j = 0; j < k; j++) {
var distance = Math.pow( xdata[i] - x_means[j], 2) + Math.pow( ydata[i] - y_means[j], 2);
if(distance < nearestDistance){
nearestDistance = distance;
cdata[i] = j;
}
}
}
我在这里有一个最小的工作示例: http://bl.ocks.org/hardbyte/ded34566f6fb704264b4