Как правильно написать код для оценки точности в предусловиях Link в python? - PullRequest
0 голосов
/ 20 апреля 2020

Я пишу код для оценки точности в предсказании канала. Это пример кода

def Precision_cn(sim_dict, test_edge_list,negative):

    missing_edge_set = set(test_edge_list)
    sim_list = [((u, v), s) for (u, v), s in sim_dict.items()]
    sim_list_sorted=sorted(sim_list, key=lambda x: (x[1], x[0]), reverse=True)[0:k]

    #pre_list = []

    count = 0
    ll = len(sim_list_sorted)
    for l in range(ll):

        (u, v) = sim_list_sorted[l][0]
        if (u, v) in missing_edge_set:
            count += 1

        pre_list= count / ll

    return pre_list

здесь списки Test_edge являются положительными примерами промежуточных значений пары узлов (i, j), а отрицательные - несвязанными парами. (I, J). Но удивительно, что я получаю очень маленькое значение точности. Есть ли проблемы с этим кодом? любая помощь будет оценена (пара узлов (u, v), s) и пара значений k-top значения оценки, в этом примере я использовал 100 узловых пар sim_dict со значениями сходства (оценки)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...