我是机器学习领域的新手(即使我发现它非常有趣),我想开始一个小项目,我可以应用一些东西。
假设我有一个人的数据集,每个人都有N个不同的属性(只有离散值,每个属性几乎可以是任何东西)。
我想找到表现出相同行为的人群,即他们的属性具有相似模式的人群(“看起来相似”)。
你会怎么做?有什么想让我开始吗?
我正在考虑使用PCA,因为我们可以拥有任意数量的维度,这可能对减少它有用。 K-手段?在这种情况下我不确定。关于什么最能适应这种情况的任何想法?
我确实知道如何编写所有这些算法的代码,但我真的错过了一些真实世界的经验,知道在哪种情况下应用什么。
答案 0 :(得分:3)
K-means使用n维属性向量是一种合理的入门方式。您可能希望使用距离指标来查看它对结果的影响。
答案 1 :(得分:2)
几乎任何聚类算法的第一步是找到合适的距离函数。许多算法如DBSCAN
可以用这个距离函数进行参数化(至少在一个不错的实现中。当然有些只支持欧几里德距离......)。
首先考虑如何测量对象的相似性!
答案 2 :(得分:2)
在我看来,您还应该尝试期望最大化算法(也称为EM)。另一方面,使用PCA时必须小心,因为此算法可能会减少与群集相关的维度。