基于C++的最大最小聚类算法实现

一、          算法简介

1.   简介:

最大最小距离法是模式识别中一种基于试探的类聚算法,它以欧式距离为基础,取尽可能远的对象作为聚类中心。因此可以避免K-means法初值选取时可能出现的聚类种子过于临近的情况,它不仅能智能确定初试聚类种子的个数,而且提高了划分初试数据集的效率。

    该算法以欧氏距离为基础,首先初始一个样本对象作为第1个聚类中心,再选择一个与第1个聚类中心最远的样本作为第2个聚类中心,然后确定其他的聚类中心,直到无新的聚类中心产生。最后将样本按最小距离原则归入最近的类。

2.   算法流程

1)       从N个样本集中的任选取一个样本,作为第一个聚类中心z1;

2)       选取距离第一个聚类中心z1最远的样本作为第二个聚类中心z2;

3)       计算其余样本与z1、z2之间的距离,并求出它们中的最小值,即:

 

4)       若:(θ为选定的比例系数)

则相应的样本xl作为第三个聚类中心z3,转至下一步继续判断是否存在新的聚类中心,否则转至第六步;

5)       假设存在k个聚类中心,计算各样本到各个聚类中心的距离dij,并算出:

若成立,则zk+1=xl,并循环此步骤,继续判断是否有新的聚类中心存在,否则转至第六步;

6)       当判断不再有新的聚类中心存在时,将样本集按最小距离原则分到各类中去,即计算:

二、          算法实现

1.   实验数据—data.txt

文件内容

d=2 n=150

5.1  3.5

4.9  3

4.7  3.2

4.6  3.1

…</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值