我有一个1830 * 6800矩阵,如下所示:
行1830是针对不同的创业公司ID,该列是针对6800个不同的投资者。现在我想找到那些成功收集足够资金的公司和那些没有那么幸运获得足够资金的公司之间的相似之处。我正在考虑使用k-means聚类和谱聚类,将簇号设置为2以具有2个不同的组(即成功和失败)。但k-means给了我几乎所有的0,这意味着所有行都在同一个集群中。
有谁能给我一些思考,如何为这种情况选择更合适的算法?它不必是聚类。
答案 0 :(得分:1)
随机投影在这里可能弊大于利。 取而代之的是所有投资于一家公司的投资者,所有没有投资者的公司都会重复投资。
但总而言之,我说你在这里有一个绝望的任务。
群集无法帮助您。您无法获得成功或失败的集群。你更有可能得到东海岸或西海岸群;或不同的领域。 如果您有一个目标,例如成功/失败,则群集是错误的工具。
此外,您的数据充满异常,而k-means无法很好地处理它们。这可能就是为什么几乎所有东西都在同一个集群中。
您可以尝试的最好的是频繁项目集,这将根据您的应用方式确定投资于同一公司的投资者群体以及倾向于拥有相同投资者的公司群体。
答案 1 :(得分:0)
我认为您使用的数据不正确。如果有1.4亿美元的投资者,那么你的矩阵非常稀疏。每列都有数据吗?如果没有,请将其删除。你说你的数据是:
“1或0 .1是成功从其中一个投资者那里获得资金,0是因为失败。”
你的绝大多数细胞应该是空的,因为我无法想象一家创业公司试图从6,800名投资者那里获得资金 - 确保那些积极申请资助的公司的数据仅为0。 / p>
另外,你如何定义成功?是一些投资者吗?金额?我认为,按照结构化,您的数据不会为您提供所需的答案。