函数原型: retval, bestLabels, centers = kmeans(data, K, bestLabels, criteria, attempts, flags, centers=None)
函数参数: data: 需要分类数据,最好是np.float32的数据,每个特征放一列 K: 聚类个数 bestLabels:预设的分类标签或者None criteria:迭代停止的模式选择,这是一个含有三个元素的元组型数。格式为(type, max_iter, epsilon) 其中,type有如下模式:
cv2.TERM_CRITERIA_EPS :精确度(误差)满足epsilon,则停止。
cv2.TERM_CRITERIA_MAX_ITER:迭代次数超过max_iter,则停止。
cv2.TERM_CRITERIA_EPS+cv2.TERM_CRITERIA_MAX_ITER:两者结合,满足任意一个结束。
attempts:重复试验kmeans算法次数,将会返回最好的一次结果。 flags:初始中心选择,可选以下两种:
v2.KMEANS_PP_CENTERS:使用kmeans++算法的中心初始化算法
cv2.KMEANS_RANDOM_CENTERS:每次随机选择初始中心
返回值: compactness:紧密度,返回每个点到相应重心的距离的平方和
精彩内容
发表评论