K近隣アルゴリズムの実装
868 ワード
import operator
import numpy as np
def createDataset():
data=[[0,0],[0.1,0.1],[1,1],[1.1,1.1],[1.2,1.2]]
label=['A','A','B','B','B']
data=np.array(data)
#label=np.array(label)
return data,label
data1,label1=createDataset()
def Euladis(a,data):
dis=[]
for datai in data:
dis.append(np.linalg.norm(datai-a))
return dis
#a=np.array([1.2,1.2])
def classify(a,data,label):
result=[]
dis=Euladis(a,data)
dissort=sorted(dis)
for dissorti in dissort:
loc=dis.index(dissorti)
result.append(label[loc])
return result
def main():
x,y=input("Please input x y").split()
a=np.array([int(x),int(y)])
result=classify(a,data1,label1)
print(result)
if __name__=='__main__':
main()
直接実行できて、とても分かりやすいです.