Exemple #1
0
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]}
Exemple #2
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()
Exemple #3
0
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)))
Exemple #5
0
'''
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)))
Exemple #6
0
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)
Exemple #8
0
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)) + "%")