コード例 #1
0
def getA(training):
    A = np.zeros((trStats["n_ratings"], trStats["n_movies"] + trStats["n_users"]))
    no_movies = trStats["n_movies"]
    data = lib.getTrainingData()
    for i, rating in enumerate(data):
        movie, user, r = rating
        A[i][movie] = 1
        A[i][no_movies+user] = 1
    print (A)
    return A
コード例 #2
0
def getA(training):
    # A = np.zeros((trStats["n_ratings"], trStats["n_movies"] + trStats["n_users"]))
    # for i in range(0, trStats["n_ratings"] - 1):
    #     A[i][training[i][0]] = training[i][2]
    #     A[i][training[i] + trStats["n_movies"] - 1] = training[i][2]
    # A = np.zeros(trStats["n_users"], trStats["n_movies"])
    # for i in range(0, trStats["n_ratings"]):
    #     A[training[i][1]][training[i][0]] = A[training[i][2]]
    # return A
    A = np.zeros(
        (trStats["n_ratings"], trStats["n_movies"] + trStats["n_users"]))
    no_movies = trStats["n_movies"]
    data = lib.getTrainingData()
    for i, rating in enumerate(data):
        movie, user, r = rating
        A[i][movie] = 1
        A[i][no_movies + user] = 1
    return A
コード例 #3
0
import numpy as np
import rbm
import projectLib as lib
import pickle

training = lib.getTrainingData()
validation = lib.getValidationData()
# You could also try with the chapter 4 data
# training = lib.getChapter4Data()

trStats = lib.getUsefulStats(training)
vlStats = lib.getUsefulStats(validation)

K = 5

# SET PARAMETERS HERE!!!
# number of hidden units
# F = 10
epochs = 30
# gradientLearningRate = 0.1

# file for past trained data
fileName = 'best_W'

try:
    # try to load existing trained weight, if any
    best_W = pickle.load(open(fileName, 'rb'))
except:
    # otherwise, train/tune

    ## Parameter to tune
コード例 #4
0
import numpy as np
import rbm
import projectLib as lib
import pickle

training = lib.getTrainingData()
validation = lib.getValidationData()
# You could also try with the chapter 4 data
# training = lib.getChapter4Data()

trStats = lib.getUsefulStats(training)
vlStats = lib.getUsefulStats(validation)

K = 5

# mode = 'batch'
mode = 'single'

finalW = np.zeros([5,5,5])
finalRMSE = 100

def run_RBM(F, epochs, epsilon, B, weightcost, momentum, f, mode):
    # Initialise all our arrays
    W = rbm.getInitialWeights(trStats["n_movies"], F, K)
    bestW = np.zeros(W.shape)
    bestRMSE = 100

    posprods = np.zeros(W.shape)
    negprods = np.zeros(W.shape)
    grad = np.zeros(W.shape)