示例#1
0
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))
示例#2
0
    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])
示例#3
0
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)