def get_tag_info(): rf = RF() t_id, nameP = rf.read_tag() if t_id != None: datos = captureInfoCam() timest = int(time.time()) if datos == None: return {'ts': timest, 'product_id': t_id, 'type_id': nameP ,'gender': None, 'age': None} return {'ts': timest, 'product_id': t_id, 'type_id': nameP ,'gender': datos[1], 'age': datos[0]}
def search(self): db = dataBase() config = db.retrieveConfig(('trackerV4', 'trackerV6', 'trackerP')) del db search = wrapper(Util.menuInput, 'Search >> ') searchRF = RF(config, search) searchRF.start()
x = [] y = [] for i in range(len(dataset)): y.append(float(dataset[i][len(dataset[0]) - 1])) t = [] for j in range(len(dataset[0]) - 1): t.append(float(dataset[i][j])) x.append(t) df1 = pd.read_csv('ex2data1test.csv', delimiter=',') dataset1 = np.array(df1).tolist() xt = [] yt = [] for i in range(len(dataset1)): yt.append(float(dataset1[i][len(dataset1[0]) - 1])) t = [] for j in range(len(dataset1[0]) - 1): t.append(float(dataset1[i][j])) xt.append(t) from RF import RF rf = RF(B=5, Bagging=True) rf.train(x, y) yPredict = rf.predict(xt) count = 0 for i in range(len(yPredict)): if yPredict[i] == yt[i]: count += 1 print(count / float(len(yt)))
y = [] for i in range(len(dataset)): y.append(float(dataset[i][len(dataset[0])-1])) t = [] for j in range(len(dataset[0])-1): t.append(float(dataset[i][j])) x.append(t) df1 = pd.read_csv('ex2data1test.csv', delimiter=',') dataset1 = np.array(df1).tolist() xt = [] yt = [] for i in range(len(dataset1)): yt.append(float(dataset1[i][len(dataset1[0])-1])) t = [] for j in range(len(dataset1[0])-1): t.append(float(dataset1[i][j])) xt.append(t) from RF import RF rf = RF(B=5, Bagging = True) rf.train(x, y) yPredict = rf.predict(xt) count = 0 for i in range(len(yPredict)): if yPredict[i] == yt[i]: count +=1 print(count/float(len(yt)))
''' This file runs Random forest on the Bank Marketing dataset. The user will need to input the number of trees and whether to use bagging in the algorithm in the console. ''' from RF import RF import RFdataProcessing as RFData isBagging = True userInput = input("Please enter the number of trees:") TreeNum = int(userInput) userInput1 = input("Use bagging? (Y/N):") if userInput1 == "Y": isBagging = True elif userInput1 == "N": isBagging = False x = RFData.x y = RFData.y xt = RFData.xt yt = RFData.yt rf = RF(B=TreeNum, Bagging=isBagging) rf.train(x, y) yPredict = rf.predict(xt) count = 0 for i in range(len(yPredict)): if yPredict[i] == yt[i]: count += 1 print(count / float(len(yt)))
def bagging(N): #training data xRF = RFData.x y = RFData.y #testing data xtRF = RFData.xt yt = RFData.yt xKNN = knnData.main()[0] #training X xtKNN = knnData.main()[2] #test X countYPredict = [] for i in range(len(yt)): countYPredict.append(0) for k in range(N): # number of bootstrapping x_RF = [] y_RF = [] x_KNN = [] y_KNN = [] # bootstrapping for i in range(int(len(xRF) * 0.6)): r = randint(0, len(xRF) - 1) tRF = [] for j in range(len(xRF[0]) - 1): tRF.append(xRF[r][j]) # for RF, data duplicates are not allowed if tRF not in x_RF: x_RF.append(tRF) y_RF.append(y[r]) x_KNN.append(xKNN[r]) y_KNN.append(y[r]) # RF start = time.time() rf = RF(B=TreeNum, Bagging=isBagging) rf.train(x_RF, y_RF) pred = rf.predict(xtRF) end = time.time() count = 0 for i in range(len(pred)): if pred[i] == yt[i]: count += 1 print("RF, trial #" + str(k + 1) + ": ") print('\taccuracy: ' + str(round(count / float(len(yt)) * 100, 2)) + '%') print('\ttraining time: ' + str(round(end - start, 1)) + ' seconds') for i in range(len(pred)): countYPredict[i] = countYPredict[i] + pred[i] # KNN start = time.time() pred = knn.main(x_KNN, y_KNN, xtKNN, kInKnn) end = time.time() count = 0 for i in range(len(pred)): if pred[i] == yt[i]: count += 1 print("KNN, trial #" + str(k + 1) + ": ") print('\taccuracy: ' + str(round(count / float(len(yt)) * 100, 2)) + '%') print('\ttraining time: ' + str(round(end - start, 1)) + ' seconds') for i in range(len(pred)): countYPredict[i] = countYPredict[i] + pred[i] finalPredict = [] for i in range(len(yt)): if countYPredict[i] >= N: finalPredict.append(1) else: finalPredict.append(0) count = 0 for i in range(len(finalPredict)): if finalPredict[i] == yt[i]: count += 1 print() print('After combining the classifiers by bagging: ') print('\taccuracy: ' + str(round(count / float(len(yt)) * 100, 2)) + '%')
Util.w.itemconfig(idt,text=str(Util.w.find_above('1'))) ''' # Thread del tracket che poduce lo stato di un file t = Upload('127.0.0.1','::1',3500) t.daemon = True t.start() input('Press to start thread...') #q = LifoQueue() status = [a for a in range(159)] print(status) shuffle(status) #t = D( status, q, 'test', 200, 'baboon.png', 4096, 'qwertyuiopqwertyuiopqwertyuiopad') t=RF('127.0.0.1','::1',3000) t.start() print('started...') #q2 = LifoQueue() status = [a for a in range(159)] print(status) shuffle(status) #t = D( status, q, 'test', 200, 'baboon.png', 4096, 'qwertyuiopqwertyuiopqwertyuiopad') t=RF('127.0.0.1','::1',3000) t.start() print('started...') t.join() print('uscito...') sleep(10)
def bagging(N): # training data xRF = RFData.x y = RFData.y # testing data xtRF = RFData.xt yt = RFData.yt xKNN = knnData.main()[0] # training X xtKNN = knnData.main()[2] # test X countYPredict = [] for i in range(len(yt)): countYPredict.append(0) for k in range(N): # number of bootstrapping x_RF = [] y_RF = [] x_KNN = [] y_KNN = [] # bootstrapping for i in range(int(len(xRF) * 0.6)): r = randint(0, len(xRF) - 1) tRF = [] for j in range(len(xRF[0]) - 1): tRF.append(xRF[r][j]) # for RF, data duplicates are not allowed if tRF not in x_RF: x_RF.append(tRF) y_RF.append(y[r]) x_KNN.append(xKNN[r]) y_KNN.append(y[r]) # RF start = time.time() rf = RF(B=TreeNum, Bagging=isBagging) rf.train(x_RF, y_RF) pred = rf.predict(xtRF) end = time.time() count = 0 for i in range(len(pred)): if pred[i] == yt[i]: count += 1 print("RF, trial #" + str(k + 1) + ": ") print("\taccuracy: " + str(round(count / float(len(yt)) * 100, 2)) + "%") print("\ttraining time: " + str(round(end - start, 1)) + " seconds") for i in range(len(pred)): countYPredict[i] = countYPredict[i] + pred[i] # KNN start = time.time() pred = knn.main(x_KNN, y_KNN, xtKNN, kInKnn) end = time.time() count = 0 for i in range(len(pred)): if pred[i] == yt[i]: count += 1 print("KNN, trial #" + str(k + 1) + ": ") print("\taccuracy: " + str(round(count / float(len(yt)) * 100, 2)) + "%") print("\ttraining time: " + str(round(end - start, 1)) + " seconds") for i in range(len(pred)): countYPredict[i] = countYPredict[i] + pred[i] finalPredict = [] for i in range(len(yt)): if countYPredict[i] >= N: finalPredict.append(1) else: finalPredict.append(0) count = 0 for i in range(len(finalPredict)): if finalPredict[i] == yt[i]: count += 1 print() print("After combining the classifiers by bagging: ") print("\taccuracy: " + str(round(count / float(len(yt)) * 100, 2)) + "%")