我有一个1830*6800的矩阵,如下所示:
矩阵的1830行代表不同的初创公司ID,6800列代表不同的投资者。现在我想找出那些成功筹集到足够资金的公司与那些未能筹集到足够资金的公司之间的相似性。
我考虑使用k-means聚类和谱聚类,将聚类数量设置为2,以形成两个不同的组(即成功与失败)。但k-means几乎给出了全是0的结果,这意味着所有行都在同一个聚类中。
有谁能给我一些建议,如何选择更适合这种情况的算法?不一定要是聚类算法。
回答:
随机投影在这里可能弊大于利。相反,可以考虑移除例如只投资了一家公司的投资者,移除没有投资者的公司,重复此过程。
但总的来说,我认为你面临的是一个无望的任务。
聚类无法帮到你。你不可能得到成功或失败的聚类。你更有可能得到东海岸或西海岸的聚类;或者是不同领域的聚类。如果你的目标是成功/失败,聚类是错误的工具。
此外,你的数据充满了异常值,而k-means无法很好地处理这些异常值。这可能是为什么几乎所有数据都在同一个聚类中的原因。
你可以尝试的最好方法是频繁项集,这将(取决于你的应用方式)识别出投资于相同公司的投资者群体,以及倾向于拥有相同投资者的公司群体。