Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matrix 从MySQL表生成超大矩阵?_Matrix_Cluster Analysis - Fatal编程技术网

Matrix 从MySQL表生成超大矩阵?

Matrix 从MySQL表生成超大矩阵?,matrix,cluster-analysis,Matrix,Cluster Analysis,我有两个MySQL表,一个包含6000个用户,另一个包含10000个他们为产品提供的评级。我想做一个特征向量矩阵,每一行表示一个用户1或0,如果他们给了一个特定的产品评级(甚至评级值)。实现这一点的最佳方法是什么(假设矩阵也是稀疏的?) 我很好奇,我可以用自己掌握的工具(如MySQL或MATLAB)测试哪些实现——最终目的是对类似的用户执行集群。不知怎的,我认为一个10000列的MySQL表不会让我的db管理员高兴。。。总之。在SQL中存储稀疏矩阵的明显方法是使用三列,其中user和produc

我有两个MySQL表,一个包含6000个用户,另一个包含10000个他们为产品提供的评级。我想做一个特征向量矩阵,每一行表示一个用户1或0,如果他们给了一个特定的产品评级(甚至评级值)。实现这一点的最佳方法是什么(假设矩阵也是稀疏的?)


我很好奇,我可以用自己掌握的工具(如MySQL或MATLAB)测试哪些实现——最终目的是对类似的用户执行集群。不知怎的,我认为一个10000列的MySQL表不会让我的db管理员高兴。。。总之。

在SQL中存储稀疏矩阵的明显方法是使用三列,其中
user
product
一起是主键,另外一列是评级

使用SQL数据库进行实际处理是没有意义的。这只是一个巨大的开销,使事情变得缓慢。只需将数据输出到一个原始且快速的数据结构中,进行分析,然后最终将输出转换为您需要的任何输出格式

当您只需要部分数据或必须执行更改、需要锁定以及所有这些操作时,SQL是很好的。但我从来不会直接在数据库上运行计算,因为除非您可以将低级线性代数库加载到数据库中,否则计算速度会很慢