except: print("batchSize learnRate") exit() print("parameter info:") print("batch size:\t%d"%batchSize) print("learn rate:\t%f"%learnRate) print("="*20) # hyper parameter k = 10 epochCount = 100 # load data import data userCount, itemCount, trainSet, testSet = data.ml_1m() print("dataset info:") print("user count:\t%d"%(userCount)) print("item count:\t%d"%(itemCount)) print("train count:\t%d"%(trainSet.shape[0])) print("test count:\t%d"%(testSet.shape[0])) print("="*20) # embedding layer u = tf.placeholder(tf.int32, [None, 1]) v = tf.placeholder(tf.int32, [None, 1]) r = tf.placeholder(tf.float32, [None, 1]) U = tf.Variable(tf.random_uniform([userCount, k], -0.05, 0.05)) V = tf.Variable(tf.random_uniform([itemCount, k], -0.05, 0.05))
learnRate = 0.1 reLambda = 0.01 print("parameter info:") print("batch size:\t%d" % batchSize) print("learn rate:\t%f" % learnRate) print("regular lambda:\t%f" % reLambda) print("=" * 20) # hyper parameter k = 10 epochCount = 200 # load data import data userCount, itemCount, trainSet, testSet = data.ml_1m(seed=seed) globalMean = trainSet[:, 2:3].mean() print("dataset info:") print("user count:\t%d" % (userCount)) print("item count:\t%d" % (itemCount)) print("train count:\t%d" % (trainSet.shape[0])) print("test count:\t%d" % (testSet.shape[0])) print("global mean:\t%.4f" % (globalMean)) print("=" * 20) # matrix factorization u = tf.placeholder(tf.int32, [None, 1]) v = tf.placeholder(tf.int32, [None, 1]) r = tf.placeholder(tf.float32, [None, 1])
except: print("default batchSize learnRate") batchSize = 512 learnRate = 0.05 #batchSize = 32 #learnRate = 0.1 # hyper parameter k = 250 n_layer = [500, 250, 500] epochCount = 300 dropout_rate = [0.8, 0.8, 1] # load data import data userCount, itemCount, trainSet, testSet = data.ml_1m(should_shuffle=False) # train data trainData = defaultdict(lambda: [0] * itemCount) trainMask = defaultdict(lambda: [0] * itemCount) for t in trainSet: userId = int(t[0]) itemId = int(t[1]) rating = float(t[2]) trainData[userId][itemId] = rating trainMask[userId][itemId] = 1.0 # test data missCnt = 0 testData = defaultdict(lambda: [0] * itemCount) testMask = defaultdict(lambda: [0] * itemCount)