OPTICS聚类算法是基于密度的聚类算法,全称是Ordering points to identify the clustering structure,目标是将空间中的数据按照密度分布进行聚类,其思想和DBSCAN非常类似,但是和DBSCAN不同的是,OPTICS算法可以获得不同密度的聚类,直接说就是经过OPTICS算法的处理,理论上可以获得任意密度的聚类。因为OPTICS算法输出的是样本的一个有序队列,从这个队列里面可以获得任意密度的聚类。
上图可以看到MinPts 确定了核心距离(MinPts -1 个 在 核心距离内)
List<DataPoint> dpList = new ArrayList<DataPoint>(); 结果队列
List<DataPoint> dpQue = new ArrayList<DataPoint>();有序队列
1.是否为核心对象,并存入有序队列。
2. DataPoint tempDpfromQ = dpQue.remove(0);
3.获取密度可达点
4.indexInlist是否在结果队列,indexInq是否妇女在密度可达点
5.如果不再结果队列,且存在密度可达点,则如果此时新的可达距离小于旧的可达距离,则用新可达距离取代旧可达距离
6.