XT,coord2,count = sep(Tdata)
        coord2 = scaler.fit_transform(coord2)
        coord2 = np.round(coord2.dot(2))/2
        new_coord2, test_coord_values, digits = turn_y_into_binary(coord2)
    
        ### Scale testing data
        XT = scaler.fit_transform(XT)
    
        ### Predict
        Y_pred = clf.predict(XT)
        Y_pred_normalized = turn_binary_into_y(Y_pred, test_coord_values, digits)
        #Y_pred = Y_pred.reshape(-1,1)
    
        ## Calculate the statistics
        #e,m,s,r = calcStats(new_coord2, Y_pred,isPrint=True)
        e,m,s,r = calcStats(coord2, Y_pred_normalized,isPrint=True)
        line_to_write = (test_ind - 1) * len(training_trials) + train_ind + 2
        print('line to write: ', line_to_write)
        if line_to_write == (test_ind - 1) * len(training_trials) + 3:
            worksheet.write('A' + str(line_to_write), 'test' + str(test_ind))
        worksheet.write('B' + str(line_to_write), B_entry)
        worksheet.write('C' + str(line_to_write), C_entry)
        worksheet.write('D' + str(line_to_write), str(r))
        worksheet.write('E' + str(line_to_write), str(m))
        worksheet.write('F' + str(line_to_write), str(s))
        
    elapsed = time.time() - time_training_start
    print('Total Time for ' + ftrain + ' : ', elapsed,' sec')

workbook.close()
t_end = time.time() - t
### Scale testing data
                XTr = XT[:, Xi]
                YTr = XT[:, Yi]
                XTr = scalerX.fit_transform(XTr)
                YTr = scalerY.fit_transform(YTr)

                ### Predict
                Y_pred1 = clfX.predict(XTr)
                Y_pred2 = clfY.predict(YTr)
                #                coord2_pred = np.concatenate((Y_pred1, Y_pred2), axis=0)
                coord2_pred = np.vstack((Y_pred1, Y_pred2))
                coord2_pred = coord2_pred.T

                ## Calculate the statistics
                #e,m,s,r = calcStats(new_coord2, Y_pred,isPrint=True)
                e, m, s, r = calcStats(coord2, coord2_pred, isPrint=False)
                line_to_write = (test_ind -
                                 1) * len(training_trials) + train_ind + 2
                print('line to write: ', line_to_write)
                print(' ')
                if line_to_write == (test_ind - 1) * len(training_trials) + 3:
                    worksheet.write('A' + str(line_to_write),
                                    'test' + str(test_ind))
                worksheet.write('B' + str(line_to_write), B_entry)
                worksheet.write('C' + str(line_to_write), C_entry)
                worksheet.write('D' + str(line_to_write), str(r))
                worksheet.write('G' + str(line_to_write), str(m))
                worksheet.write('H' + str(line_to_write), str(s))

                e, m, s, r = calcStatsOneAxis(coord2[:, 0],
                                              Y_pred1,
                Y_pred = clf.predict(XT)

                #                if digits_test != digits_train:
                #                    print('Digits Mismatch')
                #                    Y_pred_original = turn_binary_into_y_new(Y_pred, train_coord_values, digits_train)
                ##                    Y_pred = extend_y_pred(Y_pred, train_coord_values, digits_train, test_coord_values, digits_test)
                ##                Y_pred_normalized = turn_binary_into_y(Y_pred, test_coord_values, digits)
                #                elif digits_test == digits_train:
                #                    print('Digits Match')
                coord2_pred = turn_binary_into_y_new(Y_pred, test_coord_values,
                                                     digits_test)
                #Y_pred = Y_pred.reshape(-1,1)

                ## Calculate the statistics
                #e,m,s,r = calcStats(new_coord2, Y_pred,isPrint=True)
                e, m, s, r = calcStats(coord2, coord2_pred, isPrint=True)
                line_to_write = (test_ind -
                                 1) * len(training_trials) + train_ind + 2
                print('line to write: ', line_to_write)
                print(' ')
                if line_to_write == (test_ind - 1) * len(training_trials) + 3:
                    worksheet.write('A' + str(line_to_write),
                                    'test' + str(test_ind))
                worksheet.write('B' + str(line_to_write), B_entry)
                worksheet.write('C' + str(line_to_write), C_entry)
                worksheet.write('D' + str(line_to_write), str(r))
                worksheet.write('E' + str(line_to_write), str(m))
                worksheet.write('F' + str(line_to_write), str(s))

                elapsed = time.time() - time_training_start
예제 #4
0
                coord2 = scaler3.fit_transform(coord2)
                coord2 = np.round(coord2.dot(2)) / 2
                new_coord2, test_coord_values, digits = turn_y_into_binary(
                    coord2)

                ### Scale testing data
                XT = scaler.fit_transform(XT)

                ### Predict
                Y_pred = clf.predict(XT)
                Y_pred_normalized = turn_binary_into_y(Y_pred,
                                                       test_coord_values,
                                                       digits)
                Y_inverse_norm = scaler3.inverse_transform(Y_pred_normalized)
                e, m, s, r = calcStats(original_coord2,
                                       Y_inverse_norm,
                                       isPrint=True)
                #                Y_pred_original = turn_binary_into_y(Y_pred, original_coord2, digits)
                #Y_pred = Y_pred.reshape(-1,1)

                ## Calculate the statistics
                #e,m,s,r = calcStats(new_coord2, Y_pred,isPrint=True)
                #                e,m,s,r = calcStats(coord2, Y_pred_normalized,isPrint=True)
                line_to_write = (test_ind -
                                 1) * len(training_trials) + train_ind + 2
                print('line to write: ', line_to_write)
                print(' ')
                if line_to_write == (test_ind - 1) * len(training_trials) + 3:
                    worksheet.write('A' + str(line_to_write),
                                    'test' + str(test_ind))
                worksheet.write('B' + str(line_to_write), B_entry)
## Scale testing data
XTr = scalerX.transform(XTr)
YTr = scalerY.transform(YTr)

## Predict
CoordX_pred = lassoX.predict(XTr)
CoordY_pred = lassoY.predict(YTr)

print("Test1: ")
## Calculate the statistics
e, m, s, r = calcStatsOneAxis(coordT[:, 0], CoordX_pred, isPrint=True)
e, m, s, r = calcStatsOneAxis(coordT[:, 1], CoordY_pred, isPrint=True)

CoordXY_pred = np.vstack((CoordX_pred, CoordY_pred)).T
e, m, s, r = calcStats(coordT, CoordXY_pred, isPrint=True)

ftest = "test2.npy"
f = 'data/robot/test/' + os.path.altsep + ftest
Tdata = np.load(f)  #nxd
XT, coordT, count = sep(Tdata)

XTr = XT[:, Xi]
YTr = XT[:, Yi]
## Get cubic fit
#ply = PolynomialFeatures(3)
XTr = plyX.transform(XTr)  # nxd
YTr = plyY.transform(YTr)  # nxd

## Scale testing data
XTr = scalerX.transform(XTr)