我正在尝试使用kmeans方法来寻找在首尔地铁站附近开设咖啡店的最佳位置。
包含的特征包括:
- 特定车站每月总下车人数
- 特定车站附近的租赁费用
- 特定车站附近现有咖啡店的数量
我决定使用肘点法来寻找最佳的k值。在运行kmeans之前,我对所有特征进行了标准化处理。
现在肘点似乎是k=3(或者可能是k=2),但我觉得SSE对于一个肘点来说太高了。
另外,使用k=3时,由于只有三个聚类,很难从中获得洞察。
使用k=5时,可以获得最佳的洞察。
即使k=5不是肘点,使用k=5可以被证明是合理的吗?
或者,kmeans从一开始就不是一个好的选择吗?
回答:
肘点法并不是一个确定的规则,而是更像是一种启发式方法(它大多数时候有效,但并非总是如此,所以我认为它更像是选择聚类数量的一个好的经验法则)。此外,肘点有时无法明确识别,所以你不必太担心这一点。
因此,如果你使用k=5
时能获得更好的结果或对数据的理解有所增进,那么我强烈建议你使用k=5
而不是k=3
!
现在,关于你的另一个问题,可能有更适合你的数据的方法,但这并不意味着k-means不是一个好的起点。如果你想尝试其他方法,scikit-learn
库的文档提供了关于在进行聚类时选择哪种算法或方法的良好见解。