【问题标题】:How to choose the right value of k in K Nearest Neighbor如何在 K 最近邻中选择正确的 k 值
【发布时间】:2018-12-15 05:01:46
【问题描述】:

我有一个包含 9448 个数据点(行)的数据集 每当我选择介于 1 到 10 之间的 K 值时,准确度都会达到 100%(当然这是一个理想的情况!)而且很奇怪。

如果我选择我的 K 值为 100 或更高,则准确度会逐渐降低(95% 到 90%)。

如何选择 K 的值?我们想要一个不错的准确性,而不是假设为 100%

【问题讨论】:

    标签: python-3.x machine-learning classification knn


    【解决方案1】:

    嗯,选择 k 的一种简单方法是 sqrt(数据点数)。在这种情况下,它将是 sqrt(9448) = 97.2 ~ 97。请记住,不看数据就说哪个 k 值最适合是不合适的。如果相似类的训练样本形成聚类,那么使用从 1 到 10 的 k 值可以达到很好的准确率。如果数据是随机分布的,那么就不能说哪个 k 值会给出最好的结果。在这种情况下,您需要通过经验分析来找到它。

    【讨论】:

    • 那么,选择总数据点的平方根可能是选择 K 值的唯一决策因素吗?我们能逃脱惩罚吗? @Amjad shibili
    • 找出 k 的最佳方法是查看数据点的可视化。如果还是想不通,可以选择 sqrt 方法。
    • 嗨@Amjadsibili,这是一个清晰而简单的答案。您发现这种智慧的来源(例如书籍、纸张等)是什么?谢谢!
    • 嘿@richelbilderbeek 对不起,我写这个答案已经有 4 年了,现在我什至无法弄清楚这个答案是关于什么的 :( 虽然我想我从一个人那里得到了这个智慧我在 Udacity 上过的课程,不太确定:/
    猜你喜欢
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2013-03-21
    • 2018-04-08
    • 2014-05-14
    相关资源
    最近更新 更多