我有两个MySql表,其中一个包含一组6000个用户,另一组包含10000个为产品提供的评级。我想制作一个特征向量矩阵,如果对特定产品给出评级(甚至是评级值),则表示用户的每一行都是1或0。实现这一目标的最佳方法是什么(假设矩阵稀疏?)。
我很好奇我可以使用我可以使用的工具(如MySQL或Matlab)测试哪些实现 - 最终目的是执行类似用户的群集。不知怎的,我认为一个10,000列的MySQL表不会让我的数据库管理员满意。
谢谢!
答案 0 :(得分:0)
在SQL中存储稀疏矩阵的显而易见的方法是使用三列,其中user
和product
一起是主键,而额外的列是评价
使用SQL数据库进行实际处理没有意义。这只是一个巨大的开销,并使事情变得缓慢。只需将数据输出到原始且快速的数据结构中,进行分析,然后最终以您需要的任何输出格式转换输出。
当您只需要部分数据或必须执行更改,需要锁定以及所有这些时,SQL是很好的。但我永远不会直接在数据库上运行计算,因为除非你可以将低级线性代数库加载到数据库中,否则它会很慢。