发布网友 发布时间:2022-04-28 12:04
共1个回答
热心网友 时间:2023-08-03 02:50
输入:簇的数目k和包含n个对象的数据库
输出:k个簇,使得所有对象与其距离最近中心点的相异度总和最小
(1) 任意选择k个对象作为初始的簇中心点 (2) Repeat
(3) 指派每个剩余对象给离他最近的中心点所表示的簇
(4) Repeat
(5) 选择一个未被选择的中心点Oi
(6) Repeat
(7) 选择一个未被选择过的非中心点对象Oh
(8) 计算用Oh代替Oi的总代价并记录在S中
(9) Until 所有非中心点都被选择过
(10) Until 所有的中心点都被选择过
(11) If 在S中的所有非中心点代替所有中心点后的计算出总代价有小于0的存在,then找出S中的用非中心点替代中心点后代价最小的一个,并用该非中心点替代对应的中心点,形成一个新的k个中心点的集合;
(12) Until 没有再发生簇的重新分配,即所有的S都大于0.