k-最近邻,其中每个类中的对象数差异很大
Posted
技术标签:
【中文标题】k-最近邻,其中每个类中的对象数差异很大【英文标题】:k-nearest neighbors where # of objects in each class differs vastly 【发布时间】:2016-10-02 23:18:46 【问题描述】:我在一个对象被分类为 A 或 B 的数据集上运行 knn(在 R 中)。但是,A 的数量比 B 的多(每 1 个 B 类,A 类 18 个)。
我应该如何解决这个问题?例如,如果我使用 18 的 ak,并且邻居中有 7 个 B(比一组 18 个中的平均 B 多得多),那么测试数据仍然会被归类为 A,而应该是 B。
我认为较低的 k 会对我有所帮助。选择 k 的值是否有任何经验法则,因为它与训练集中类的频率有关?
【问题讨论】:
【参考方案1】:没有这样的规则,对于你的情况,我会尝试一个非常小的 k,可能在 3 到 6 之间。
关于数据集,除非您的测试数据或真实世界数据的比例与您提到的(18:1)大致相同,否则我会删除一些 A 以获得更准确的结果,如果比例是,我不建议您这样做确实接近真实世界的数据,因为您将失去比率的影响(较低概率的数据分类为较低的概率)。
【讨论】:
感谢您的建议!我最终确实删除了一些 A 以降低比率,并使用了较小的 k。我对结果很满意。以上是关于k-最近邻,其中每个类中的对象数差异很大的主要内容,如果未能解决你的问题,请参考以下文章