【问题标题】:KNN choosing class label when k=4KNN 在 k=4 时选择类标签
【发布时间】:2015-03-18 18:19:16
【问题描述】:
在 k-NN 分类中,输出是类成员资格。对象通过其邻居的多数票进行分类,对象被分配到其 k 个最近邻居中最常见的类别(k 是一个正整数,通常很小)。
- 如果 k = 1,则简单地将对象分配给该单个最近邻居的类。
- 如果 k=3,类标签 Good =2 Bad=1,则预测的类标签为 Good,包含多数票。
- 如果 k=4,类标签 Good =2 Bad=2,那么类标签是什么?
【问题讨论】:
标签:
machine-learning
classification
nearest-neighbor
knn
【解决方案1】:
有不同的方法。例如,Matlab 使用 here 记录的“随机”或“最近”。
分类到两个以上的组或使用偶数时
对于 k,可能有必要打破最近的数量
邻居。选项是“随机的”,它选择一个随机的决胜局,
和“最近的”,它使用绑定组中最近的邻居
打破平局。
【解决方案2】:
此问题并非特定于 k=4。
考虑一个包含 3 个类的数据集。在 k=2 时,可能会出现两个不同的类别。在 k=3 时,可能会出现三个不同的类别,在 k=4 时,可能是 0、2、2...任何超过 1 的 k 都存在平局的风险。
随机选择一个,或使用加权(即赋予 1NN 比第二个最近邻更大的权重等)以进一步降低平局的风险。