halcon机器视觉算法原理与编程实战_机器学习中的K近邻算法原理和sklearn实战

K近邻(KNN)是一种最经典和简单的有监督学习方法,主要用于解决分类和回归问题,当对数据的分布只有很少或者没有任何先验的知识时,K近邻算法是一个不错的选择。

211ef044ff7e385efb7ebfd57a225fb8.png

我首先通过上图来直观理解K近邻的原理,假设我们的数据样本分为A类和B类,现在给定一个要预测的样本五角星属于A类还是B类

如果k=3时,我们先寻找距离五角星最近的3个样本,发现其中有1个属于A类,2个属于B类,B类多于A类,因此K近邻算法认为五角星属于B类。

如果k=6时,我们先寻找距离五角星最近的6个样本,发现其中有4个属于A类,2个属于B类,A类多于B类,因此K近邻算法认为五角星属于A类。

从上面我们可以看出,k值的选择不同,样本被预测的结果有可能会不同。到这里有一个问题要提出,如何计算点与点之间的距离?

535989222afacfe02b1d971f9f20d122.png

常用的距离计算方法还有:

  • Hamming Distance 汉明距离
  • Manhattan Distance 曼哈顿距离
  • Minkowski Distance 闵氏距离

接下来我们再看一个例子:假设您想将灰点分类为一个类。在这里,有三种可能的颜色——石灰绿、绿色和橙色。

5a681f8a0a52102eb4965a1f0344f144.png

首先计算灰点和所有其他点之间的距离。

4f5b497a89ec272eac9a339f7850e482.png

接下来,通过增加距离来排序点来找到最近的邻居。灰点的近邻(NNs)是数据空间中最接近的。

33607cd7d4139bd2cb0e82268addd0e6.png

根据k个最邻近的类对预测的类标签进行投票。在这里,标签是根据k=4最近邻预测的。因为橙色的票数最多,所以灰色被预测划分为橙色这一类。

ff66c6285a079e3584051ad0c956b00e.png

到这里,我们可以来一个总结K近邻算法的详细流程:

  • 确定k的大小和距离计算的方法。
  • 从训练样本中得到k个与测试样本最相近的样本。
  • 根据k个最相似训练样本的类别,通过投票的方式来确定测试样本的类别。

讲了那么多,是时候动手撸代码了,接下来是用sklearn实现K近邻的过程:

案例:一家汽车公司刚刚推出了他们新型的豪华SUV,我们尝试预测哪些用户会购买这种全新SUV。数据集是从某社交网络中收集的用户信息。这些信息涉及用户ID、性别、年龄以及预估薪资,最后一列用来表示用户是否购买。我们将建立一种模型来预测用户是否购买这种SUV,该模型基于两个变量,分别是年龄和预计薪资。我们尝试寻找用户年龄与预估薪资之间的某种相关性,以及他们是否有购买SUV的决定。

1、导入常用相关库。

0f37831e26f60a50a086e5179d609755.png

2、导入数据集。

96afb8cad4434fdadef891d90da54d25.png

3、将数据集划分成为训练集和测试集。

77475c5802877e9ff69062a6b1e22192.png

4、数据标准化。

4383cc7d0ff82d09d1f21288b6a68fd3.png

补充说明,上面的fit_transform、transform处理结果都一样,只是第一个用于训练集,第二个用于测试集,具体的区别可以去这看 看https://www.cnblogs.com/keye/p/8875128.html。

5、使用K-NN对训练集数据进行训练。

6a60dee368e6796693a64c00ef8263ec.png

补充说明,上面的参数metric就是用来进行距离度量的,其中传递的是默认参数minkowski(闵可夫斯基距离),闵可夫斯基距离可以根据一些参数变化从而变成其他距离度量算法, 例如p=1为曼哈顿距离, p=2为欧式距离。更为具体的介绍可以去这里看看https://www.cnblogs.com/pinard/p/6065607.html。

6、对测试集进行预测。

55b021382146a7152b202c027d6e8e45.png

7、生成混淆矩阵。

在评估预测阶段,监督学习可用混淆矩阵(confusion matrix)作为精度评价与可视化工具,而非监督学习则用匹配矩阵(matching matrix)。因为我们这的数据有标签0或1,所以是监督学习,所以用混淆矩阵。

1188106c30f06eb319ff67789642a3f3.png

8、分析混淆矩阵结果。

fdad4b0683d91e862ddb45f0026fe905.png

从图中我们可以看出:

  • 标签 0 的总数为:64 + 4 = 68 个,其中有 64 个被正确预测,有 4 个被错误的预测成 1 标签。
  • 标签 1 的总数为:3 + 29 = 32 个,其中有 29 个被正确预测,有 3 个被错误的预测成 0 标签。

到这里就结束了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《halcon机器视觉算法原理编程实战.pdf》是一本介绍Halcon机器视觉算法原理编程实践的书籍。Halcon是一种功能强大的机器视觉软件库,广泛应用于工业自动化、医疗影像、质量检测等领域。 该书首先介绍了机器视觉算法的基本原理,包括图像预处理、特征提取、模式匹配等常用技术。然后扩展到更高级的视觉算法,如3D视觉建模、图像分割、深度学习等。书不仅介绍了算法原理,还提供了大量的代码实例和详细的算法流程,帮助读者理解和掌握Halcon编程。 此外,该书还重点介绍了Halcon软件的特点和应用案例。Halcon具有丰富的图像处理函数和工具,支持多种编程语言和平台,使得开发者可以根据实际需求进行开发和集成。书通过实例演示了工业自动化、医疗影像等领域的应用案例,指导读者如何使用Halcon实现实际的项目。 总之,《halcon机器视觉算法原理编程实战.pdf》通过结合理论和实践,详细介绍了Halcon机器视觉算法原理编程技巧。读者可以通过学习该书,了解Halcon的功能和应用场景,掌握机器视觉算法的基本原理和实现方法,从而应用于实际项目。 ### 回答2: 《halcon机器视觉算法原理编程实战.pdf》是一本介绍Halcon机器视觉算法原理以及编程实践的书籍。Halcon是一款功能强大的机器视觉开发工具,可用于图像处理、模式识别、测量等领域。 该书首先介绍了Halcon机器视觉的基本原理,包括图像采集与处理、特征提取与匹配、几何变换等内容。通过理解这些基本原理,读者可以建立起对Halcon机器视觉工具的理论框架。 其次,该书还深入探讨了Halcon机器视觉编程实践。通过具体的案例分析,读者可以学习如何使用Halcon编程接口进行图像处理与分析。书的案例包括图像的预处理、目标的检测与定位、物体的测量与识别等,涵盖了Halcon机器视觉算法的各个方面。 此外,该书还介绍了Halcon机器视觉应用的一些相关技术和工具,如图像采集与处理设备、视觉传感器、光源控制等。这些内容有助于读者更好地理解和应用Halcon机器视觉算法。 总体而言,《halcon机器视觉算法原理编程实战.pdf》是一本适合机器视觉从业者和学习者的实用参考书籍。通过学习该书,读者可以深入了解Halcon机器视觉算法原理,并学会如何使用Halcon进行编程实践,从而提高机器视觉算法在实际应用的能力和效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值