Пример #1
0
def ubh(alpha, nbits, k):
    if k == 5:
        unum = 25
        vnum = 5
    else:
        unum = 50
        vnum = 10

    trainMat, testMat = MovieLens.loadDataSet(unum, vnum)
    featMat = itembasedDCF.pca(trainMat, nbits)
    B, R = itembasedDCF.ITQ(featMat, nbits)
    IDX = nonzero(trainMat.T)
    D0, X = itembasedDCF.parDinit(trainMat.T, nbits, IDX, 5, 1, alpha, B, 5)
    D = itembasedDCF.disOpt(5, 1, trainMat.T, IDX, nbits, alpha, B, D0, X, 10)
    return B, D, testMat
Пример #2
0
def expe_AL(nbits, para):
    trainMat, testMat = MovieLens.loadDataSet()
    #     dataMat=trainMat
    dataMat = trainMat.T
    featMat = itembasedDCF.pca(dataMat, nbits)
    D, R = itembasedDCF.ITQ(featMat, nbits)
    #     IDX=np.nonzero(trainMat.T)
    IDX = np.nonzero(trainMat)
    for i in range(len(para)):
        #         B0,X=itembasedDCF.parDinit(trainMat.T, nbits, IDX, 5, 1, para[i], D,5)
        B0, X = itembasedDCF.parDinit(trainMat, nbits, IDX, 5, 1, para[i], D,
                                      5)
        # B=itembasedDCF.disOpt(5,1,trainMat.T, IDX, nbits, para[i], B0, D,X,5)
        B = itembasedDCF.disOpt(5, 1, trainMat, IDX, nbits, para[i], B0, D, X,
                                5)
        ndcg = evaluate.NDCG_cal(B, D, testMat, 5)
        print ndcg
Пример #3
0
#itembased,NDCG@5,nbits=256 
#alpha[0.0001,0.001,0.01,0.1,1,10,100]

import MovieLens
import itembasedDCF
import evaluate
import numpy as np

para=[8,16,32,64,128,256,512]
NDCG5=[]
for i in range(5):
    print "the",i,"time"
    trainMat, testMat=MovieLens.loadDataSet(25, 5)
    PARA=[]
    for j in range(len(para)):
        featMat=itembasedDCF.pca(trainMat.T, para[j])
        D,R=itembasedDCF.ITQ(featMat,para[j])
        IDX=np.nonzero(trainMat)
        B0,X=itembasedDCF.parDinit(trainMat,para[j],IDX,5,1,10,D,5)
        B=itembasedDCF.disOpt(5,1,trainMat,IDX, para[j],10, B0,D,X,10)
        ndcg=evaluate.NDCG_cal(B,D,testMat,5)
	PARA.append(ndcg)
    print PARA
    NDCG5.append(PARA)
result=np.mean(NDCG5,axis=0)
print NDCG5,result
Пример #4
0
import MovieLens
import itembasedDCF
import evaluate
import numpy as np

para = [8, 16, 32, 64, 128, 256, 512]
NDCG10 = []
for i in range(5):
    print 'the', i, 'time'
    trainMat, testMat = MovieLens.loadDataSet(50, 5)
    PARA = []
    for j in range(len(para)):
        featMat = itembasedDCF.pca(trainMat, para[j])
        B, R = itembasedDCF.ITQ(featMat, para[j])
        IDX = np.nonzero(trainMat.T)
        D0, X = itembasedDCF.parDinit(trainMat.T, para[j], IDX, 5, 1, 10, B, 5)
        D = itembasedDCF.disOpt(5, 1, trainMat.T, IDX, para[j], 10, D0, B, X,
                                10)
        ndcg = evaluate.NDCG_cal(B, D, testMat, 10)
        PARA.append(ndcg)
    print PARA
    NDCG10.append(PARA)
result = np.mean(NDCG10, axis=0)
print NDCG10, result
Пример #5
0
import MovieLens
import itembasedDCF
import evaluate
import numpy as np

#para=[8,16,32,64,128,256,512]
alpha = [0.0001,0.001,0.01,0.1,1,10,100]
NDCG5=[]
for i in range(5):
    print 'the',i,'time'
    trainMat,testMat=MovieLens.loadDataSet(25,5)
    PARA=[]
    for j in range(len(alpha)):
       # featMat=itembasedDCF.pca(trainMat,para[j])
	featMat = itembasedDCF.pca(trainMat, 256)
	B,R=itembasedDCF.ITQ(featMat,256)
	IDX=np.nonzero(trainMat.T)
	D0,X=itembasedDCF.parDinit(trainMat.T,256,IDX,5,1,10,B,5)
	D=itembasedDCF.disOpt(5,1,trainMat.T,IDX,256,alpha[j],D0,B,X,10)
	ndcg=evaluate.NDCG_cal(B,D,testMat,5)
	PARA.append(ndcg)
    print PARA
    NDCG5.append(PARA)
result=np.mean(NDCG5,axis=0)
print NDCG5,result