聚类算法kmeans学习笔记(输入输出参数)

kmeans参数说明

kmeans中的初始聚类中心是随机的,但是对分类结果影响不大,只会影响到迭代的次数。

迭代的终止条件有两种,一种是前后两次的迭代结果不发生变化,可以看成是迭代已经收敛,分类结果已经达到最佳。另一种是前后两次结果的差值小于某个定义好的数,也可以认为聚类过程已经收敛。

当不确定聚类 的类别数时,我们就需要找到一个评价指标,去判断分成多少类是最合适的,比如DBI分类指标。
def kmeans(data:数据集
           K: 最后聚成多少类
           bestLabels: Any,
           criteria: 迭代终止条件
           attempts: Any,
           flags: Any) -> None

输入参数详解:

data是分类数据,最好使用np.float32格式,每个特征放一列,平铺开来。

此处的分类数K必须是已知的。

bestLabels是指预设的分来标签,没有时则设为None。

criteria是迭代终止的模式选择,是一个含有三个元素的元组类型,三个元素分别是type,max_iter,epsilon,其中 type的 类型有CV_TERMCRIT_ITER,CV_TERMCRIT_EPS,CV_TERMCRIT_ITER+CV_TERMCRIT_EPS,分别代表着迭代到达到最大迭代次数终止,迭代到阈值终止,或者两者都作为迭代终止条件。max_iter是指最大迭代次数 ,epsilon是指特定的阈值,代表结果的精确性 。

attempts是指重复试验算法的次数,返回最好的聚类结果

flags初始类中心的选择,一般有两种选择方式,cv2.KMEANS_PP_CENTERS和cv2.KMEANS_RANDOM_CENTERS

输出参数详解

compactness:每个点到各自对应的聚类中心的距离的平方和。

labels: 一个标签数组,每个元素被标记为’0’, ‘1’…

centers: 由聚类中心点坐标构成的数组

你可能感兴趣的:(算法,聚类,python)