1-KNN算法
function 需要4个参数 :测试vector,数据集,数据label,k
返回前k个点出现的频率,选择最高的作为分类
1.对测试vector扩维(维数与数据集个数相同),计算欧式距离
2.利用argsort进行排序
(argsort()函数是将x中的元素从小到大排列,提取其对应的index(索引),然后输出到y)
3.取出前k个元素 将其对应标签的数量+1
字典.get(“name”,0) 0表示要是没有name这个键这创立这个键,且赋值为0
4.排序取出最大数对应的标签即可sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)
1.iterable表示可迭代对象,包括list,str,tuple,dict,file,以及自定义
2.cmp表示自定的比较函数
3.key对比的关键词: knn算法是选择k中出现频率最高的那一个分类,所以对应classcount索引为1的数字,则通过key=operator.itemgetter(1)
4.reverse表示排列次序,true为降序排列,false为升序排列
2-约会网站配对效果
1.对数据集进行整理,可视化
2.对数据进行归一化
3.对每个测试数据进行knn计算,并计算出错误率
3-手写识别系统
1.对数据集进行整理
3232 --> 11024 :二重循环
同上