在java中构建项目-项目矩阵
我正在构建一个项目-项目矩阵,并具有以下格式的数据
UserX item1,item2,item3
userY item4,item5,item6
.....
我需要构建以下形式的矩阵:
item1 item2 item3
item1
item2
item3
最好的设计和数据结构是什么,因为我将处理大量数据?
目前我一直在使用哈希图进行设计。还有其他更好的解决方案吗?
编辑:矩阵将用于存储 item1 到 item 2、item3.... 的关联值。最终用途是构建类似于亚马逊推荐的东西。
I am building a item-item matrix and have the data in the following format
UserX item1,item2,item3
userY item4,item5,item6
.....
i need to build matrix of the form
item1 item2 item3
item1
item2
item3
What would be the best design and data structure to go about as i will be handling large amounts of data?
Currently i have been designing using Hashmaps. Is there any other better solution?
EDIT : The matrix will be used to store the association value of item1 to item 2,item3.... The end use would be to build something similar to Amazon recommendations.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
当我读到您的“矩阵”要求时,我想到的数据结构是 Guava 的 表。我不知道它是否是性能最好的一个(HashBasedTable,“标准”实现,使用哈希表),但它似乎是最容易操作的你想要做的事情(更干净的代码)。
话虽这么说,我认为你应该看看真正的推荐引擎。在 Java 中,您可以查看 Apache Mahout Taste。您还可以使用 Google 的预测 API。
The data structure that sprung to mind when I read your "matrix" requirement was Guava's Table. I don't know if it's the most performant one (HashBasedTable, the "standard" implementation, uses hash tables), but it seems to be the easiest to manipulate for what you want to do (cleaner code).
That being said, I think you should look at real recommendation engines. In Java, you could look at Apache Mahout Taste. You could also use Google's prediction API.