if not args.particle_num: particle_num = 10 else: particle_num = int(args.particle_num) if not args.dimension: dimension = 5 else: dimension = int(args.dimension) algorithms['PTS'] = PTSAlgorithm(particle_num = particle_num, dimension = dimension, n = clusterNum, itemNum=itemNum, sigma = np.sqrt(.5), sigmaU = 1, sigmaV = 1) elif args.alg == 'UCBPMF': run_UCBPMF = True if not args.dimension: dimension = 5 else: dimension = int(args.dimension) algorithms['UCBPMF'] = UCBPMFAlgorithm(dimension = dimension, n = clusterNum, itemNum=itemNum, sigma = np.sqrt(.5), sigmaU = 1, sigmaV = 1, alpha = 0.1) elif args.alg == 'Hybrid_LinUCB': algorithms['HybridLinUCB'] = Hybrid_LinUCBAlgorithm(dimension = context_dimension, alpha = alpha, lambda_ = lambda_, userFeatureList=userFeatureVectors) elif args.alg == 'ALL': runCoLinUCB = runGOBLin = runLinUCB = run_M_LinUCB = run_Uniform_LinUCB=True else: args.alg = 'Random' for alg_name, alg in algorithms.items(): alg.learn_stats = articleAccess() train_days = 1 #Train if (not args.pretrain or args.pretrain == True):
# algorithms['CFUCB10'] = CFUCBAlgorithm(context_dimension = context_dimension, latent_dimension = 10, alpha = alpha, alpha2 = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random') # algorithms['CFEgreedy10'] = CFEgreedyAlgorithm(context_dimension = context_dimension, latent_dimension = 10, alpha = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random', epsilon_init=200) # algorithms['CFUCB2'] = CFUCBAlgorithm(context_dimension = context_dimension, latent_dimension = 2, alpha = alpha, alpha2 = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random') # algorithms['CFEgreedy2'] = CFEgreedyAlgorithm(context_dimension = context_dimension, latent_dimension = 2, alpha = alpha, lambda_ = lambda_, n = n_users, itemNum=n_articles, init='random', epsilon_init=200) if algName == 'HybridLinUCB': algorithms['HybridLinUCB'] = Hybrid_LinUCBAlgorithm( dimension=context_dimension, alpha=alpha, lambda_=lambda_, userFeatureList=simExperiment.generateUserFeature( simExperiment.getW())) if args.alg == 'UCBPMF': algorithms['UCBPMF'] = UCBPMFAlgorithm(dimension=10, n=n_users, itemNum=n_articles, sigma=np.sqrt(.5), sigmaU=1, sigmaV=1, alpha=0.1) if algName == 'All': algorithms['LinUCB'] = N_LinUCBAlgorithm(dimension=context_dimension, alpha=alpha, lambda_=lambda_, n=n_users) algorithms['CFUCB'] = CFUCBAlgorithm( context_dimension=context_dimension, latent_dimension=5, alpha=0.1, alpha2=0.1, lambda_=lambda_, n=n_users,