kmeanscluster, knn 以及em

本文探讨了K-means聚类与KNN算法的区别,K-means是一种非监督学习方法,通过计算样本间的欧式距离将数据划分为K个簇;而KNN则依据相同距离度量找出最邻近的K个样本进行分类或回归预测。

前面用kmeanscluster做过聚簇分析,聚簇分析是一种非监督的学习,根据样本之间的距离把样本分成k个类,返回k个类的中心向量。在opencv中kmeanscluster在core.hpp中定义,实现在matrix.cpp中,是比较早提供的一个函数。距离度量函数是欧式距离de平方。opencv不提供修改距离公式的接口。

knn法也是根据欧式距离求出最近的k个样本。opencv中knn有个train方法。貌似就是把样本矩阵的头部转换成一个向量树,主要的工作还是在find-nearest函数中。

不是很明白kmeansculster和knn有啥区别。

 

em的原理则比较复杂一些。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值