*由于5万训练集以及1万测试集较大,运行程序时间较长
因此我们抽取了1/10的训练集
以及1/10的测试集
方便初学者理解*
更改后的代码
#coding=utf-8
#author='HL'
'''
利用pickle模块存储对象
dump类似于write
load类似于read
完成对象的上传以及读取
'''
import cPickle as pickle
import numpy as np
class NearestNeighbor(object):
def __init__(self):
pass
def train(self,x,y):
self.x_Tr = x
self.y_Tr = y
def predict(self,x):
y_Pre = np.zeros(x.shape[0],dtype=type(self.y_Tr))
for i in range(x.shape[0]):
distance = np.sum(abs(self.x_Tr-x[i,]),axis=1)
min_index = n