我需要找到属于同一个人的登录名。该任务应在python环境中解决。 我有一个包含用户操作的数据集。通过这些操作,我创建了N个功能:
- login
- timestamp
- feature 1
- feature 2
...
- feature N
此外,还有一个包含成对登录的训练数据集,很可能属于同一个人。
- login_A
- login_B
- person_id
如何实现一种算法,该算法将破坏我属于同一个人的登录数据集。结果,我需要获取登录列表和一些生成的person_Id。 请帮助找到合适的方法来解决该问题,并链接到Python中的实现示例。
谢谢!
答案 0 :(得分:0)
我对这种事情不是很精通,但是我想您应该将集群中心指定为每个人两次登录之间的中点,并为每个集群赋予person_id登录名它是从创建的。然后,当您进行分类时,您会找到最近的集群中心,并将该登录名分配为该人员ID。
答案 1 :(得分:0)
我建议您尝试使用sk-learn集群模块sklearn.cluster
的某些算法。在市场上最常见的聚类算法中,有很多可用的。它真的很容易使用,您可以使用几行代码来运行非常复杂的聚类算法。
其中一些需要事先提供簇数,但并非所有簇都如此。
例如,层次聚类可用于获取任意数量的聚类(this page上有很好的解释)。
如果拥有不属于任何集群的孤独点不会打扰您,您也可以使用DBSCAN。
编辑:从对问题的描述中,我不确定集群是否是您想要的。对于一个庞大的用户社区,我们将使用集群来构建一些具有共同点并且彼此非常相似的人(集群)社区。 p>
答案 2 :(得分:0)
您有培训数据。
然后,受监督的方法将始终胜过无监督的方法(例如聚类)。这是解决问题的错误工具。
学习对两个动作是否属于同一用户进行分类。