机器学习实战——python 3.5.2
- kNN分类算法 kNN.py文件中的代码为
from numpy import *
import operator
def creatDataset():
group=array([[1,1.1],[1,1],[0,0],[0,0.1]])
labels=[‘A’,‘A’,‘B’,‘B’]
return group, labels
def classify0(inX,dataSet,labels,k):
dataSetsize=dataSet.shape[0]
diffMat=tile(inX,(dataSetsize,1))-dataSet
sqDiffMat=diffMat 2 #数字2前有两个*,博客中打出来是加粗符号,小伙伴运行代码时可自行加上
sqDistances=sqDiffMat.sum(axis=1)
distances=sqDistances 0.5 #数字0.5前有两个*,博客中打出来是加粗符号,小伙伴运行代码时可自行加上
sortedDistIndicies=distances.argsort()
classCount={}
for i in range(k):
voteIlabel=labels[sortedDistIndicies[i]]
classCount[voteIlabel]=classCount.get(voteIlabel,0)+1
sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)
return sortedClassCount[0][0]
运行:
win+R → cmd→ python.exe
输入:
import os
os.chdir(r"D:\360MoveData\Users\someone\Desktop") #更改路径至当前
import kNN
group,labels=kNN.creatDataset()
kNN.classify0([0,0],group,labels,3)
成功运行输出:‘B’