for bone in range(0, 2): for joint in range(0, 3): X[row, col] = set1[finger, bone, joint, row] X[row + 1000, col] = set2[finger, bone, joint, row] col = col + 1 return X, y trainM = ReduceData(trainM) trainN = ReduceData(trainN) testM = ReduceData(testM) testN = ReduceData(testN) trainM = CenterData(trainM) trainN = CenterData(trainN) testM = CenterData(testM) testN = CenterData(testN) trainX, trainy = ReshapeData(trainM, trainN) testX, testy = ReshapeData(testM, testN) knn.Use_K_Of(15) knn.Fit(trainX, trainy) counter = 0 for row in range(2000): prediction = knn.Predict(testX[row, :]) if prediction == testy[row]: counter = counter + 1 print((counter / 2000) * 100)
trainY = knn.target[::2] #print(trainX[0]) #print(trainY) #x = [0,1,2,3,4,5] #y = [0,1,2,3,4,5] #co = [0,0,0,1,1,1] #print(x) #0:2 testX = knn.data[1::2, 1:3] testY = knn.target[1::2] #print(testX) #print(testY) knn.Use_K_Of(15) knn.Fit(trainX, trainY) [numItemsTrain, numFeatures] = knn.data.shape #for i in range(0,numItems/2): # actualClass = testY[i] # prediction = knn.Predict(testX[i,0:2]) # print(actualClass, prediction) #plt.figure() #plt.scatter(x,y,c=knn.target) #plt.show() colors = np.zeros((3, 3), dtype='f') colors[0, :] = [1, 0.5, 0.5] colors[1, :] = [0.5, 1, 0.5] colors[2, :] = [0.5, 0.5, 1]
test7 = CenterData(test7) test8 = CenterData(test8) test9 = CenterData(test9) # add new one trainX, trainy = ReshapeData(train0, train1, train2, train3, train4, train5, train6, train7, train8, train9) testX, testy = ReshapeData(test0, test1, test2, test3, test4, test5, test6, test7, test8, test9) knn = KNN() knn.Use_K_Of(25) trainX = trainX.astype(int) trainy = trainy.astype(int) knn.Fit(trainX, trainy[:, 0]) actualClass = testy[0] prediction = knn.Predict(testX[0, :]) #print(actualClass, prediction) #prediction = knn.Predict(testX[1]) #print(prediction) counter = 0 # add 1000 for row in range(0, 10000): prediction = int(knn.Predict(testX[row, :])) if prediction == int(testy[row, 0]): counter += 1 print("Number correct is %s" % str(counter))