寻找最好的k

在KNN算法中,k需要提前指定,那么k取多少为最优值?

此处通过for循环创建多个分类器进行比较分类准确率

代码搜索:

1.6 KNN算法学习——KNN算法中超参数的探索

验证的结果为k=4时准确率最高,这个过程即所谓调参的过程,寻找最好的超参数的值

注:如果找到的最优值在边界上,很有可能最好值在搜索范围之外,所以应该再往上(下)调整范围以寻找最优的值,因为不同参数决定了不同的准确率,他们之间呈连续型变换的。

KNN中其他超参数
权重weight(考虑权重或不考虑权重)

1.6 KNN算法学习——KNN算法中超参数的探索

如图,虽然蓝色投票结果比红色为2:1蓝色获胜但是1票的红色点其实离得更近些,另外投票还有可能产生平票,任意取一个结果并不准确,所以距离上应该考虑权重,考虑权重后红色获胜

代码搜索:

1.6 KNN算法学习——KNN算法中超参数的探索

参数p

其他的距离定义

通用的开跟的最短距离为欧拉距离,即图中的绿色

还有曼哈顿距离,图中的红蓝黄均是

1.6 KNN算法学习——KNN算法中超参数的探索

将距离一般化即为

1.6 KNN算法学习——KNN算法中超参数的探索

一般后的称作明可夫斯基距离,距离中有一个参数p,p取多少准确率最高呢?

1.6 KNN算法学习——KNN算法中超参数的探索


代码搜索:

1.6 KNN算法学习——KNN算法中超参数的探索

更多的超参数:

1.6 KNN算法学习——KNN算法中超参数的探索

1.6 KNN算法学习——KNN算法中超参数的探索

学习API:

点击打开链接

相关文章:

  • 2021-12-27
  • 2021-10-16
猜你喜欢
  • 2021-12-12
  • 2022-12-23
  • 2021-06-28
  • 2022-02-05
  • 2022-12-23
  • 2021-05-29
相关资源
相似解决方案