def test_fit_predict_HolE(): model = HolE(batches_count=1, seed=555, epochs=20, k=10, loss='pairwise', loss_params={'margin': 1}, regularizer='LP', regularizer_params={'lambda': 0.1, 'p': 2}, optimizer='adagrad', optimizer_params={'lr':0.1}) X = np.array([['a', 'y', 'b'], ['b', 'y', 'a'], ['a', 'y', 'c'], ['c', 'y', 'a'], ['a', 'y', 'd'], ['c', 'y', 'd'], ['b', 'y', 'c'], ['f', 'y', 'e']]) model.fit(X) y_pred, _ = model.predict(np.array([['f', 'y', 'e'], ['b', 'y', 'd']]), get_ranks=True) print(y_pred) assert y_pred[0] > y_pred[1]
model = HolE(batches_count=50, epochs=300, k=100, eta=20, optimizer='adam', optimizer_params={'lr': 1e-4}, loss='multiclass_nll', regularizer='LP', regularizer_params={ 'p': 3, 'lambda': 1e-5 }, seed=0, verbose=True) model.fit(X_train) filter_triples = np.concatenate((X_train, X_test)) ranks = evaluate_performance(X_test, model=model, filter_triples=filter_triples, use_default_protocol=True, verbose=True) mr = mr_score(ranks) mrr = mrr_score(ranks) print("MRR: %.2f" % (mrr)) print("MR: %.2f" % (mr)) hits_10 = hits_at_n_score(ranks, n=10)