示例#1
0
    ### retrain with best parameter
    print('Best parameters:',
          [best_momentum, best_reg, best_alpha, best_B, best_F, best_epoch])
    # pickle
    pickle.dump(best_W, open(fileName, 'wb'))

### END ###
# This part you can write on your own
# you could plot the evolution of the training and validation RMSEs for example
print('Predicting')

# log training and validating error
print(
    'RSME on training',
    lib.rmse(
        trStats["ratings"],
        rbm.predict(trStats["movies"], trStats["users"], best_W, training)))
print(
    'RSME on validation',
    lib.rmse(
        vlStats["ratings"],
        rbm.predict(vlStats["movies"], vlStats["users"], best_W, training)))

predictedRatings = np.array([
    rbm.predictForUser(user, best_W, training) for user in trStats["u_users"]
])
print(np.max(predictedRatings), np.min(predictedRatings))
# Output the 300 x 97 txt
print('Saving new result')
np.savetxt("predictedRatings.txt", predictedRatings)
示例#2
0
    # We predict over the training set
    tr_r_hat = rbm.predict(trStats["movies"],
                           trStats["users"],
                           W,
                           training,
                           b=biasOne)
    trRMSE = lib.rmse(trStats["ratings"], tr_r_hat)

    # We predict over the validation set
    vl_r_hat = rbm.predict(vlStats["movies"],
                           vlStats["users"],
                           W,
                           training,
                           b=biasOne)
    vlRMSE = lib.rmse(vlStats["ratings"], vl_r_hat)

    print "### EPOCH %d ###" % epoch
    print "Training loss = %f" % trRMSE
    print "Validation loss = %f" % vlRMSE
    # break
### END ###
# This part you can write on your own
# you could plot the evolution of the training and validation RMSEs for example

predictedRatings = np.array([
    rbm.predictForUser(user, W, training, b=biasOne)
    for user in trStats["u_users"]
])
# print(predictedRatings.shape)
np.savetxt("predictedRatingsExp.txt", predictedRatings)
示例#3
0
print('Predicting')

# log training and validating error
print(
    'RSME on training',
    lib.rmse(
        trStats["ratings"],
        rbm.predict(trStats["movies"],
                    trStats["users"],
                    best_W,
                    training,
                    predictType="mean")))
print(
    'RSME on validation',
    lib.rmse(
        vlStats["ratings"],
        rbm.predict(vlStats["movies"],
                    vlStats["users"],
                    best_W,
                    training,
                    predictType="mean")))

predictedRatings = np.array([
    rbm.predictForUser(user, best_W, training, predictType="mean")
    for user in trStats["u_users"]
])
print(np.max(predictedRatings), np.min(predictedRatings))
# Output the 300 x 97 txt
print('Saving new result')
np.savetxt("SUccess+v4.txt", predictedRatings)
示例#4
0
    count = 0
    for F in range_F:
        for epsilon in range_Epsilon:
            for B in range_B:
                for weightcost in range_weightcost:
                    for momentum in range_momentum:
                        count += 1
                        print("====== ", round(count/float(total)*100,2),"% =====")
                        print("F:        ",F)
                        print("epsilon:  ",epsilon)
                        print("B:        ", B)
                        print("weightcost", weightcost)
                        print("momentum: ", momentum)
                        results = run_RBM(F, epochs, epsilon, B, weightcost, momentum, f, mode)
                        if results[1] < finalRMSE:
                            finalRMSE = results[1]
                            finalW = results[0]

if mode == 'single':
    finalW = run_RBM(F, epochs, epsilon, B, weightcost, momentum, f, mode)[0]

f.close()


### END ###
# This part you can write on your own
# you could plot the evolution of the training and validation RMSEs for example
predictedRatings = np.array([rbm.predictForUser(user, finalW, training) for user in trStats["u_users"]])

np.savetxt("predictedRatings.txt", predictedRatings)
示例#5
0
            for B in range_B:
                for weightcost in range_weightcost:
                    for momentum in range_momentum:
                        count += 1
                        print("====== ", round(count / float(total) * 100, 2),
                              "% =====")
                        print("F:        ", F)
                        print("epsilon:  ", epsilon)
                        print("B:        ", B)
                        print("weightcost", weightcost)
                        print("momentum: ", momentum)
                        results = run_RBM(F, epochs, epsilon, B, weightcost,
                                          momentum, f, mode)
                        if results[1] < finalRMSE:
                            finalRMSE = results[1]
                            finalW = results[0]

if mode == 'single':
    finalW = run_RBM(F, epochs, epsilon, B, weightcost, momentum, f, mode)[0]

f.close()

### END ###
# This part you can write on your own
# you could plot the evolution of the training and validation RMSEs for example
predictedRatings = np.array([
    rbm.predictForUser(user, finalW, training) for user in trStats["u_users"]
])

np.savetxt("predictedRatings.txt", predictedRatings)