Machine learning 使用带数值的KNN进行分类
我对matlab是新手。对我来说,任务是对一些数据集执行数据分类。给定的数据集由数值组成。有一件事困扰着我,那就是我必须完成所有的KNN,ANN,SVM。在执行KNN时,我遇到了一个问题,比如如何找到K的值。如果它是用户定义的,那么我们必须从哪个值开始以及何时停止它。如果有人回答我的问题,我将非常感谢。这些模型中的每一个都有一些必须“手动”找到的元参数:Machine learning 使用带数值的KNN进行分类,machine-learning,Machine Learning,我对matlab是新手。对我来说,任务是对一些数据集执行数据分类。给定的数据集由数值组成。有一件事困扰着我,那就是我必须完成所有的KNN,ANN,SVM。在执行KNN时,我遇到了一个问题,比如如何找到K的值。如果它是用户定义的,那么我们必须从哪个值开始以及何时停止它。如果有人回答我的问题,我将非常感谢。这些模型中的每一个都有一些必须“手动”找到的元参数: ANN-隐藏节点数、学习率、动量率 SVM-核类型,C值,gamma(对于poly/RBF核) KNN-使用的度量,投票权重方案,K 正确
- ANN-隐藏节点数、学习率、动量率
- SVM-核类型,C值,gamma(对于poly/RBF核)
- KNN-使用的度量,投票权重方案,K
KNN对于每个自然K都有很好的定义,从1开始,以示例数结束。然而,它通常在{1,5,10,15}中的K上进行测试(只是经验法则而已)。好吧,就
KNN
而言,K
的值决定为n
的平方根,即训练示例的数量。因此,如果您有100个培训示例,k
的值应该是10。然而,这同样只是一个经验法则
来源:Brett-Lantz使用R进行机器学习