监督学习入门:k-NN算法与线性回归
1. 从简单示例理解监督学习
假设有一个小镇地图,上面标记着不同颜色的房子,绿色圆圈标记的房子就是我们即将接近的。我们想知道是否可以敲这户人家的门,可又找不到他们支持哪个队伍的线索。这个看似简单的问题,其实正是监督学习算法可以解决的。
我们有一系列的观察数据,如房子的位置和颜色,这些构成了训练数据。利用这些数据,我们可以从经验中学习,当面对预测新房子颜色的任务时,就能做出合理的估计。
2. k - NN算法原理
k - NN(k近邻)算法可以说是最简单的机器学习算法之一。其核心原理是:我们只需存储训练数据集,在对新数据点进行预测时,找到训练数据集中与之最接近的数据点,即最近邻。简单来说,一个数据点很可能与其邻居属于同一类别。
比如,若邻居是红队球迷,那我们大概率也是红队球迷,否则早就搬走了。不过,有些社区情况可能更复杂,这时我们不只是考虑最近的一个邻居(k = 1),而是k个最近邻。举个例子,如果我们是红队球迷,可能就不会搬到蓝队球迷占多数的社区。
3. 在OpenCV中实现k - NN算法
3.1 实现步骤
使用OpenCV实现k - NN模型,可按以下步骤进行:
1. 生成训练数据。
2. 为给定的k值创建k - NN对象。
3. 找出要分类的新数据点的k个最近邻。
4. 通过多数投票为新数据点分配类别标签。
5. 绘制结果。
3.2 代码实现
首先,导入所需的模块:
超级会员免费看
订阅专栏 解锁全文
11万+

被折叠的 条评论
为什么被折叠?



