Пример #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]}
Пример #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()
Пример #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)))
Пример #4
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)))
Пример #5
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)) + '%')
Пример #6
0
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)