我想建立一个需要在线工作的推荐系统。
我有一个非常大的音乐数据库,每首歌大约有 40 个特征。这些需要进行聚类,然后需要根据当前歌曲推荐几首歌曲。
我可以使用 Weka 和 simpleClustering 对数据进行聚类。我是否只是从同一个集群中取出项目进行推荐?知道如何使用 weka 做到这一点吗?
我怎样才能使它成为一个在线持续更新的系统?或者是否存在提供此功能的服务或 API?
最佳答案
我建议是的,您应该只推荐与当前歌曲来自同一集群的其他歌曲项。
从您提出问题的方式来看,您似乎没有意识到这一点,但实际上,Weka 公开了自己的 API ,包含 GUI 内部可用的所有相同类。对于与聚类相关的类(class),我建议您看一下 EM , XMeans ,和Cobweb ,尽管您也可以使用其他聚类算法。集群类都具有非常一致的设计,通常有一个可用于构建集群的 buildClusterer()
方法,以及一个可用于构建集群的 clusterInstance()
方法。用于检索数据库中给定歌曲的簇 ID。我实际上构建了一个小型的基于Java的集群demo几个月前我开始了一个项目,试图同时提高我在 Java 和 Weka 方面的技能。如果您觉得有帮助,请随意查看源代码。
关于cluster-analysis - 在weka中构建推荐系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20469612/