我正在试验的数据集采用表格形式,其中包含 userid 和 itemid 列。如果给定用户和给定项目有一行,则表示用户访问了该项目(就像在在线商店中一样)。我正在尝试根据此数据对类似项目进行聚类。如果经常一起访问一对项目,则这些项目是相似的。
因为这是一个高维的情况(用户和项目的数量将在 10,000 中),我认为我有理由尝试使用 SVD 作为预聚类步骤,然后进行一些经典聚类。当我尝试这样做时,与简单的层次聚类相比,我得到的聚类结果很差。不太相似的项目在一个维度中被存储在一起,而有一些可用的维度没有被使用。结果不是完全随机的,但肯定比层次聚类的输出差。我尝试了 Mahaut 和 Octave 的 SVD 步骤,结果相似。对于层次聚类,我使用了 Jaccard 度量。
在这一点上,我开始怀疑 SVD 作为一种降低维度的方法的概念。您是否认为在这种情况下不能有效地使用 SVD(为什么?)或者您认为我在此过程中犯了一些错误?