我最近开始研究聚类和k-means算法,并试图提出一个好的用例并解决它。
我有以下有关在不同城市销售的商品的数据。
项目城市
Item1纽约
Item2 Charlotte
项目1旧金山
...
我想基于变量city和item对数据进行聚类,以查找可能具有相似模式的城市组。销售的项目问题是我使用的k-means不接受非数字输入。任何想法我应该如何继续这个以找到有意义的解决方案。
由于 SV
答案 0 :(得分:3)
群集需要距离定义。如果项目根据某个距离函数“更接近”,则群集仅是群集。它们越近,它们就越有可能属于同一个集群。
在您的情况下,您可以尝试根据与城市相关的各种数据进行聚类,例如地理坐标或人口统计信息,并查看群集在各种情况下是否重叠!
答案 1 :(得分:2)
为了让k-means产生可用的结果,意味着必须有意义。
即使你愿意,使用二进制向量,k-means对这些没有多大意义恕我直言。
开始使用k-means的最佳用例可能是颜色量化。拍摄照片,并使用每个像素的RGB值作为3d矢量。然后运行k-means,其中k为所需的颜色数。色彩中心是您的最终调色板,每个像素都将映射到最近的色彩还原中心。
这与k-means合作的原因有两个:
如果您想超越,请尽量做同样的事情,例如在HSB空间。如果你想要它真的很好,你会遇到困难。因为色调值是循环的,这与平均值不一致。假设色调在0-360度,那么“1”和“359”的“均值”色调不 180度,但是0.所以在这个数据上,k均值结果将是次优的。
参见例如https://en.wikipedia.org/wiki/Color_quantization了解详细信息,以及关于稀疏和二进制数据的二十几个k-means问题。
答案 2 :(得分:0)
您可能仍需要以数字形式抽象地表示您的数据。这可能是帮助
尝试再次重新分析问题,并了解是否存在任何可以利用并以数字形式表示的关系。 我参与了一个项目,我必须通过RGB值来表示颜色。它工作得很好。
希望这有帮助