寻找最好的k
在KNN算法中,k需要提前指定,那么k取多少为最优值?
此处通过for循环创建多个分类器进行比较分类准确率
代码搜索:
验证的结果为k=4时准确率最高,这个过程即所谓调参的过程,寻找最好的超参数的值
注:如果找到的最优值在边界上,很有可能最好值在搜索范围之外,所以应该再往上(下)调整范围以寻找最优的值,因为不同参数决定了不同的准确率,他们之间呈连续型变换的。
KNN中其他超参数
权重weight(考虑权重或不考虑权重)
如图,虽然蓝色投票结果比红色为2:1蓝色获胜但是1票的红色点其实离得更近些,另外投票还有可能产生平票,任意取一个结果并不准确,所以距离上应该考虑权重,考虑权重后红色获胜
代码搜索:
参数p
其他的距离定义
通用的开跟的最短距离为欧拉距离,即图中的绿色
还有曼哈顿距离,图中的红蓝黄均是
将距离一般化即为
一般后的称作明可夫斯基距离,距离中有一个参数p,p取多少准确率最高呢?
代码搜索:
更多的超参数:
学习API: