我正在使用knn对电信问题进行分类。我将数据分成70%的培训和30%的验证。虽然knn分类器在训练中能够在2个十分位数中捕获超过80%,但其在验证样本中的表现与随机45度线一样好。令我感到惊讶的是KNN如何工作,培训和验证中的模型性能如此不同。
任何指针?
答案 0 :(得分:1)
如果没有更多细节,几乎不可能有合理的指针。你的KNN的行为取决于几个方面:
定义邻居的参数K
。例如,如果将其设置为K=1
,则根本不会出现任何训练错误,这表明对训练到验证错误的考虑可能不合理。
通常使用cross validation找到参数K
。我建议你也这样做。
距离指标。您使用的是哪种功能,是否有不同的单位,长度等?
数据的噪音,数据的大小...... - 只存在难以描述的数据集。
顺便说一下:你能说出你想要描述的数据类型,如果可能的话,还会提供一些例子或显示一些散点图(数据和你的结果)吗?