K-means原理与Opencv实现

K均值(K-Means)算法是一种无监督的聚类学习算法,他尝试找到样本数据的自然类别,分类是K由用户自己定义,K均值在不需要任何其他先验知识的情况下,依据算法的迭代规则,把样本划分为K类。K均值是最常用的聚类技术之一,通过不断迭代和移动质心来完成分类,与均值漂移算法的原理很相似。

K均值算法的实现过程:

1. 对于一组未知分类的数据集合,指定其分类数K;
2. 随机分配K个类别的中心点位置,分配的原则是各个类别的中心点距离彼此越远越好。
3.将数据集中的每一个点进行类别划分,划分的距离N个初始的类别中心点中哪一个的距离最近,就划入哪一类;
4.根据上一步中初步划分的N个类别,分别计算当前每一类的样品中心,并移动初始中心点到当前集合所在的中心。
5.去除数据集合中每个点的归类属性,依据上边产生的中心点,转到第3步,迭代执行,直到中心点收敛。
K均值的核心就是不断移动类别划分的中心点,直到该点稳定下来或者达到所设置的最大迭代次数,这时当前中心点所划分的类别就是最终的K均值对样本数据的聚类。

 

 


参考:[1] https://blog.csdn.net/dcrmg/article/details/53014023 
[2] OpenCV实现最大最小距离聚类算法https://blog.csdn.net/guyuealian/article/details/80255524

OpenCV中的K-Means算法是一种聚类算法,用于将数据分成多个类别。在OpenCV中,可以使用cv2.kmeans函数来实现K-Means聚类。该函数的参数包括数据集、聚类数目、终止条件、初始中心选择等。\[1\] 在K-Means聚类中,初始中心的选择是一个重要的步骤。OpenCV提供了两种选择初始中心的方法:cv2.KMEANS_PP_CENTERS和cv2.KMEANS_RANDOM_CENTERS。cv2.KMEANS_PP_CENTERS使用kmeans++算法的中心初始化算法,即选择使各个初始中心之间的距离最大的点作为初始中心。而cv2.KMEANS_RANDOM_CENTERS则是每次随机选择初始中心。\[3\] K-Means聚类的结果包括紧凑度(compactness)、标签(labels)和中心(centers)。紧凑度表示聚类的紧密程度,标签表示每个数据点所属的类别,中心表示每个类别的中心点。可以使用cv2.kmeans函数返回的结果来对图像进行聚类,并将聚类结果可视化。\[1\] 参考资料: \[1\] centers:由聚类的中心组成的数组 \[2\] OpenCV4机器学习系列文章 \[3\] flags:初始中心选择的参数说明 #### 引用[.reference_title] - *1* *3* [python OpenCV 中 Kmeans 函数详解](https://blog.csdn.net/lanshi00/article/details/104109963)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [OpenCV4机器学习(六):K-means原理实现](https://blog.csdn.net/wjinjie/article/details/120145175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值