我有用户,并且他们具有从0到10的相关技能(0很糟糕,10很出色),例如:
有一个用户 UA (左上),他们有两个相应的技能,即 SA (右上)和 SC (右下)。同样,UB具有SB,UC具有SC。
用户的每种技能都有排名(例如UA SA为9/10,UA SC 8/10和UC SC 7/10)。
我想在此图上进行搜索-例如,如果我正在寻找具有SC技能的人,那么我想找出现有用户中最合适的人。
我之前研究过pagerank,但是我不确定如何处理此类问题。我发现here可以将PageRank应用于推荐系统,但是我不知道如何在这种情况下使用它。据我了解,当前的工作流程是:
我还发现了这个名为networkX的python库。有谁知道使用该库是否可以解决此问题?
答案 0 :(得分:0)
我认为您可能需要提供一个更复杂的示例或进一步说明您的目标是什么。 PageRank似乎比必要的方法复杂得多。似乎您只需要找到最擅长于所讨论技能的用户即可:
users = {
'userA': {'skillA': 8, 'skillC': 7},
'userB': {'skillB': 9},
'userC': {'skillC': 8}
}
def find_best(skill):
return sorted([(skills[skill], name) for name, skills in users.items() if skill in skills])[-1]
示例:
>>> find_best('skillC')
(8, 'userC')