2,851
社区成员




a.在未被标记的数据点中随机选择一个点作为中心center;
b.找出离center距离在bandwidth之内的所有点,记做集合M,认为这些点属于簇c。同时,把这些求内点属于这个类的概率加1,这个参数将用于最后步骤的分类
c.以center为中心点,计算从center开始到集合M中每个元素的向量,将这些向量相加,得到向量shift。
d.center = center+shift。即center沿着shift的方向移动,移动距离是||shift||。
e.重复步骤b、c、d,直到shift的大小很小(就是迭代到收敛),记住此时的center。注意,这个迭代过程中遇到的点都应该归类到簇c。
f.如果收敛时当前簇c的center与其它已经存在的簇c2中心的距离小于阈值,那么把c2和c合并。否则,把c作为新的聚类,增加1类。
g.重复a、b、c、d、e直到所有的点都被标记访问。
h.分类:根据每个类,对每个点的访问频率,取访问频率最大的那个类,作为当前点集的所属类。