我想构建一个需要在线工作的推荐系统。
我有一个非常庞大的音乐数据库,每首歌有大约40个功能。这些需要聚集,然后需要根据当前歌曲建议几首歌曲。
我可以使用simpleClustering将数据与Weka聚类。我是否只是从同一群集中取出物品进行推荐。知道如何用weka做到这一点吗?
我怎样才能使这个在线不断更新系统?或者是否存在提供此功能的服务或API?
答案 0 :(得分:1)
我建议是的,你应该只推荐与当前歌曲在同一群集中绘制的其他歌曲项目。
从您提出问题的方式来看,您似乎并未意识到这一点,但实际上,Weka公开了自己的API,其中包含GUI内部可用的所有相同类。对于与群集相关的类,我建议您查看EM,XMeans和Cobweb,但也可以使用其他群集算法。集群类都具有非常一致的设计,通常可以使用buildClusterer()
方法来构建集群,还可以使用clusterInstance()
方法来检索给定歌曲的集群ID在数据库中。几个月前,我实际上构建了一个基于Java的小型集群demo项目,试图同时提高我在Java和Weka方面的技能。如果您觉得它有帮助,请随意查看源代码。