问题简述:我有一组数据,数据量是五百多,维度是30,分类有两种,要使用knn算法对数据进行预测。
一、伪代码
(1)整个过程的伪代码
Begin:
Input: 数据集datasets, k值数组;
Do:
对datasets进行归一化,并将其按照7:3的比例划分成训练集和测试集
利用训练集的数据,根据k折交叉验证,获取最优k值
确定k值后使用knn算法对测试集的数据进行预测
Output: 测试集中各个数据所属的类别。
End
(2)knn算法伪代码
Begin:
Input: 数据集a,待测数据b,k
Do:
测量b与a中所有点的欧氏距离,得到从根据距离从近到远排列的列表list,返回其中前k个元素
对k个元素的标签进行分析,得到各种标签的数量,根据投票法,数量最大的标签就是b的标签
Output:b的标签
二、knn算法