类 KMeansPlusPlusClusterer<T extends Clusterable>
java.lang.Object
org.hipparchus.clustering.Clusterer<T>
org.hipparchus.clustering.KMeansPlusPlusClusterer<T>
- 类型参数:
-
T
- 要聚类的点的类型
基于David Arthur和Sergei Vassilvitski k-means++算法的聚类算法。
- 另请参阅:
-
嵌套类概要
-
构造器概要
构造器说明KMeansPlusPlusClusterer
(int k) 构建一个聚类器。KMeansPlusPlusClusterer
(int k, int maxIterations) 构建一个聚类器。KMeansPlusPlusClusterer
(int k, int maxIterations, DistanceMeasure measure) 构建一个聚类器。KMeansPlusPlusClusterer
(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random) 构建一个聚类器。KMeansPlusPlusClusterer
(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random, KMeansPlusPlusClusterer.EmptyClusterStrategy emptyStrategy) 构建一个聚类器。 -
方法概要
修饰符和类型方法说明cluster
(Collection<T> points) 运行K-means++聚类算法。返回此实例使用的KMeansPlusPlusClusterer.EmptyClusterStrategy
。int
getK()
返回此实例将使用的聚类数。int
返回此实例将使用的最大迭代次数。返回此实例将使用的随机生成器。从类继承的方法 org.hipparchus.clustering.Clusterer
distance, getDistanceMeasure
-
构造器详细资料
-
KMeansPlusPlusClusterer
public KMeansPlusPlusClusterer(int k) 构建一个聚类器。在算法迭代过程中处理可能出现的空聚类的默认策略是拆分具有最大距离方差的聚类。
默认距离度量将使用欧几里德距离。
- 参数:
-
k
- 将数据分成的聚类数
-
KMeansPlusPlusClusterer
public KMeansPlusPlusClusterer(int k, int maxIterations) 构建一个聚类器。在算法迭代过程中处理可能出现的空聚类的默认策略是拆分具有最大距离方差的聚类。
默认距离度量将使用欧几里德距离。
- 参数:
-
k
- 将数据分成的聚类数 -
maxIterations
- 运行算法的最大迭代次数。如果为负数,则不设置最大值。
-
KMeansPlusPlusClusterer
构建一个聚类器。在算法迭代过程中处理可能出现的空聚类的默认策略是拆分具有最大距离方差的聚类。
- 参数:
-
k
- 将数据分成的聚类数 -
maxIterations
- 运行算法的最大迭代次数。如果为负数,则不设置最大值。 -
measure
- 要使用的距离度量
-
KMeansPlusPlusClusterer
public KMeansPlusPlusClusterer(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random) 构建一个聚类器。在算法迭代过程中处理可能出现的空聚类的默认策略是拆分具有最大距离方差的聚类。
- 参数:
-
k
- 将数据分成的聚类数 -
maxIterations
- 运行算法的最大迭代次数。如果为负数,则不设置最大值。 -
measure
- 要使用的距离度量 -
random
- 用于选择初始中心的随机生成器
-
KMeansPlusPlusClusterer
public KMeansPlusPlusClusterer(int k, int maxIterations, DistanceMeasure measure, RandomGenerator random, KMeansPlusPlusClusterer.EmptyClusterStrategy emptyStrategy) 构建一个聚类器。- 参数:
-
k
- 将数据分成的聚类数 -
maxIterations
- 运行算法的最大迭代次数。如果为负数,则不设置最大值。 -
measure
- 要使用的距离度量 -
random
- 用于选择初始中心的随机生成器 -
emptyStrategy
- 处理算法迭代过程中可能出现的空聚类的策略
-
-
方法详细资料
-
getK
public int getK()返回此实例将使用的聚类数。- 返回:
- 聚类数
-
getMaxIterations
public int getMaxIterations()返回此实例将使用的最大迭代次数。- 返回:
- 最大迭代次数,如果未设置最大值则为-1
-
getRandomGenerator
返回此实例将使用的随机生成器。- 返回:
- 随机生成器
-
getEmptyClusterStrategy
返回此实例使用的KMeansPlusPlusClusterer.EmptyClusterStrategy
。- 返回:
-
KMeansPlusPlusClusterer.EmptyClusterStrategy
-
cluster
public List<CentroidCluster<T>> cluster(Collection<T> points) throws MathIllegalArgumentException, MathIllegalStateException 运行K-means++聚类算法。- 指定者:
-
cluster
在类中Clusterer<T extends Clusterable>
- 参数:
-
points
- 要聚类的点 - 返回:
- 包含点的聚类列表
- 抛出:
-
MathIllegalArgumentException
- 如果数据点为null或聚类数大于数据点数 -
MathIllegalStateException
- 如果遇到空聚类并且emptyStrategy
设置为ERROR
-