问题是,如何按角度对某些单位进行聚类?问题在于,kmeans 基于欧几里得空间距离的概念运行,并且不知道角度的周期性。因此,要使其工作,需要将角度转换为欧几里得空间,但要保持以下正确:
这意味着,90 和 -90 是远值,180 和 -180 是相同的,170 和 -170 是接近的(角度从左上到右:0 - +180,从左下到右:0 - -180)
我尝试使用各种sin()
函数,但它们都存在第 1 点和第 2 点中提到的问题。大多数观点是sin(x * 0.5f)
但也有问题,即 180 和 -180 是欧几里得空间中的远值。