Пример #1
0
    def get_algs():
        # create a dict of (textual algorithm description => class) to be evaluated
        algs = {}

        ara = ar.AssosiationRules()
        algs['ar'] = ara
        del ara

        sra = sr.SequentialRules(10, weighting='div', pruning=20)
        algs['sr10-div'] = sra
        del sra

        sknna = sknn.ContextKNN(500, 1000, similarity="cosine")
        algs['sknn-500-1000-cosine'] = sknna
        del sknna

        ssknna = ssknn.SeqContextKNN(100, 500, similarity="cosine")
        algs['ssknn-100-500-cosine'] = ssknna
        del ssknna

        knn = sfsknn.SeqFilterContextKNN(100, 500, similarity="cosine")
        algs['sfknn-100-500-cosine'] = knn
        del knn

        vsknna = vsknn.VMContextKNN(100, 1000, similarity="cosine")
        algs['svmknn-100-1000-cosine'] = vsknna

        vsknna = vsknn.VMContextKNN(100, 2000, similarity="cosine")
        algs['svmknn-100-2000-cosine'] = vsknna
        del vsknna

        grunew = gru4rec2.GRU4Rec(loss='bpr-max-0.5',
                                  final_act='linear',
                                  hidden_act='tanh',
                                  layers=[100],
                                  batch_size=32,
                                  dropout_p_hidden=0.0,
                                  learning_rate=0.2,
                                  momentum=0.5,
                                  n_sample=2048,
                                  sample_alpha=0,
                                  time_sort=True)
        algs['gru-100-bpr-max-0.5'] = grunew
        del grunew

        return algs
Пример #2
0
    metric.append(ac.HitRate(5))
    metric.append(ac.HitRate(10))
    metric.append(ac.HitRate(20))
    metric.append(ac.MRR(5))
    metric.append(ac.MRR(10))
    metric.append(ac.MRR(20))
    metric.append(ac.NDCG(5))
    metric.append(ac.NDCG(10))
    metric.append(ac.NDCG(20))

    # create a dict of (textual algorithm description => class) to be evaluated
    algs = {}

    #weighted hybrid example
    hybrid = wh.WeightedHybrid([
        cknn.ContextKNN(100, 500, similarity="cosine"),
        gru4rec.GRU4Rec(layers=[100], n_sample=128, sample_alpha=0)
    ], [0.3, 0.7])  # weights
    algs['whybrid-test-10-90'] = hybrid

    train, test = loader.load_data(data_path,
                                   file_prefix,
                                   rows_train=limit_train,
                                   rows_test=limit_test,
                                   density=density_value)
    item_ids = train.ItemId.unique()

    # init metrics
    for m in metric:
        m.init(train)
Пример #3
0
        sra = sr.SequentialRules(10,
                                 weighting='div',
                                 pruning=20,
                                 last_n_days=None)
        algs['sr10-div'] = sra

        ara = ar.AssosiationRules()
        algs['ar'] = ara

        #knn

        iknna = iknn.ItemKNN()
        algs['iknn'] = iknna

        sknna = sknn.ContextKNN(100, 500, similarity="cosine", extend=False)
        algs['sknn-100-500-cosine'] = sknna

        vsknna = vsknn.VMContextKNN(100,
                                    2000,
                                    similarity="cosine",
                                    last_n_days=None,
                                    extend=False)
        algs['vsknn-200-2000-cosine'] = vsknna

        ssknna = ssknn.SeqContextKNN(100,
                                     500,
                                     similarity="cosine",
                                     extend=False)
        algs['ssknn-100-500-cosine-div'] = ssknna
Пример #4
0
     algs['gru-100-top1'] = gru
 if method == 'gru4rec2':
     gru = gru4rec.GRU4Rec( loss='bpr-max-0.5', final_act='tanh', hidden_act='tanh', layers=[1000], dropout_p_hidden=0.1, learning_rate=0.05, momentum=0.1, n_sample=2048, sample_alpha=0)
     algs['gru-100-bpr-max-0.5'] = gru
 if method == 'iknn':
 # item knn example
     knn = iknn.ItemKNN()
     algs['iknn'] = knn
 if method == 'ct':
 # item knn example
     ctt = ct.ContextTree()
     algs['CT'] = ctt
     isCT = True
 if method == 'cknn':
     # context knn example
     knn = cknn.ContextKNN()
     algs['knn-500-1000-cosine'] = knn
 if method == 'scknn':
     scknn_obj = scknn.SeqContextKNN(100, 500, similarity="cosine", extend=False)
     algs['scknn-100-500-cosine-div'] = scknn_obj
 if method == 'smf':
     smf_obj = smf.SessionMF(factors=100, batch=50, learn='adagrad_sub', learning_rate=0.085, momentum=0.2,
                         regularization=0.005, dropout=0.3, skip=0.0, epochs=10, shuffle=-1,
                         activation='linear', objective='top1_max', samples=2048)
     algs['smf-bpr'] = smf_obj
 '''
 Execution
 '''
 #load data
 train, test = loader.load_data( data_path, file_prefix, rows_train=limit_train, rows_test=limit_test, density=density_value)
 item_ids = train.ItemId.unique()