我使用relieff算法来研究解决分类问题的各种输入的排名。我有五个输入和大约500个观测值。 我使用MATLAB来解决这个问题。
我首先将算法的k个最近邻居设置为2并将其一直变化到450.为这些计算排名 最初变化很大,然后随着k个最近邻居的大小接近150而稳定。 我附上了五个属性中每一个的权重(更高的权重 - 更高的排名)与下面的k个最近邻居的数量的图表。
答案 0 :(得分:3)
使用 K vs Weights 图表,您刚刚回答了自己的问题。这确实非常聪明。
数据集的最佳K值是肘部的位置(约350) 这是什么意思?它基本上意味着考虑到另一个邻居并没有给出更好的数据建模 您可以反对选择350或400将导致相同的结果,因为权重相等。正确。但是,始终建议选择最小值,因为相对于相同的结果(即权重),您正在训练的模型将具有较小的复杂性(需要考虑的邻居数量较少)。
这种强制技术通常用于机器学习中的许多算法:
依旧等等......
我一直在做同样的实验,但是使用另一个数据集,我获得了以下情节:
正如您在此数据集中所看到的,最佳K大约为50。