有人可以告诉我每个班级的训练样本量是否需要相等吗?
我可以接受这种情况吗?
class1 class2 class3
samples 400 500 300
还是应该所有类都具有相同的样本量?
有人可以告诉我每个班级的训练样本量是否需要相等吗?
我可以接受这种情况吗?
class1 class2 class3
samples 400 500 300
还是应该所有类都具有相同的样本量?
KNN 结果基本上取决于 3 件事(N 的值除外):
考虑以下示例,您尝试在 2D 空间中学习类似甜甜圈的形状。
通过在您的训练数据中具有不同的密度(假设您在甜甜圈内部的训练样本比在外部的多),您的决策边界将如下所示:
另一方面,如果您的类相对平衡,您将获得更精细的决策边界,该边界将接近甜甜圈的实际形状:
所以基本上,我建议尝试平衡你的数据集(只是以某种方式对其进行标准化),并考虑我上面提到的其他 2 个项目,你应该没问题。
如果您必须处理不平衡的训练数据,您还可以考虑使用 WKNN 算法(只是 KNN 的优化)为元素较少的类分配更强的权重。
k 最近邻方法不依赖于样本大小。您可以使用示例样本大小。例如,请参阅以下关于具有 k-最近邻的 KDD99 数据集的论文。与您的示例数据集相比,KDD99是非常不平衡的数据集。