コード例 #1
0
ファイル: lastfm2k.py プロジェクト: RomainWarlop/RecSys-Learn
            'lambda': l,
            'rank': r,
            'alpha': alpha,
            'eps': eps,
            'crossval': k
        })
        print(current_perf)
        bob = ALS(d=r,
                  num_users=numUser,
                  num_items=numItem,
                  lbda=l,
                  seed=0,
                  reg=reg,
                  verbose=True)
        t0 = time()
        bob.fitImplicit(data[data['cv'] != k], alpha=alpha, c="log", eps=eps)
        T = time() - t0
        Rhat = bob.U.dot(bob.V.T)
        R_test = sparseMatrix(data,
                              k,
                              include=True,
                              names=list(data.columns)[:3])
        rank = rankMeasure(R_test, Rhat)
        print(rank)
        ind = getLine_fromdict(perf, current_perf)
        perf.loc[ind] = ['ALS-WR', reg, l, r, alpha, eps, k, rank, T]
    print('-' * 50)

#==============================================================================
# graphALS
#==============================================================================
コード例 #2
0
ファイル: lastfm2k.py プロジェクト: RomainWarlop/RecSys-Learn
    lambdas = [0.8]
    rank = [20]
    alphas = [10]
    epss= [10]
    
    current_perf = dict.fromkeys(['model','reg','lambda','rank','alpha','eps','crossval'])
    for elt in itertools.product(*[regs,lambdas,rank,alphas,epss,[0]]):
        reg, l, r, alpha, eps, k = elt
        current_perf.update({'model':'ALS-WR','reg':reg,'lambda':l,
                            'rank':r,'alpha':alpha,'eps':eps,
                            'crossval':k})
        print(current_perf)
        bob = ALS(d=r,num_users=numUser,num_items=numItem,lbda=l,seed=0,
                  reg=reg,verbose=True)
        t0 = time()
        bob.fitImplicit(data[data['cv']!=k],alpha=alpha,c="log",eps=eps)
        T = time()-t0
        Rhat = bob.U.dot(bob.V.T)
        R_test = sparseMatrix(data,k,include=True,names=list(data.columns)[:3])
        rank = rankMeasure(R_test,Rhat)
        print(rank)
        ind = getLine_fromdict(perf,current_perf)
        perf.loc[ind] = ['ALS-WR',reg,l,r,alpha,eps,k,rank,T]
    print('-'*50)

#==============================================================================
# graphALS
#==============================================================================

# Graph Construction
userGraph = pd.read_csv(path+'data/lastfm2k/user_friends.dat',sep="\t")