我正在尝试分析旅游数据,数据格式如下:
@DATA2013-1-01,01,1,0,1,3,3,329.21720000000052013-1-01,01,1,0,1,3,4,1399.78262999999152013-1-01,01,1,1,2,3,2,10.50964
其中最后一个属性是满足所有其他条件(酒店、特定城市、特定夜数等)的旅行者数量。
我试图通过对游客进行聚类来分割数据并获取有意义的洞察,由于我对机器学习还比较陌生,所以在这方面有些挣扎。经过一些研究,由于我不知道数据应该被分成多少个聚类,我发现一个好的方法是使用自组织映射(SOM)来确定聚类数量,然后再使用K-means或EV算法。因此,我使用了WEKA,并将SOM应用于数据,但看起来它是通过所有属性(包括最后一个属性)来形成聚类的,而不是使用它来加权。
我想到的一个可能的解决方案是为频率属性的每个单位创建一行数据,但这会使文件变得太大。有什么建议吗?
回答:
大多数实现都不支持加权。虽然可以做到,但你需要修改代码。
由于你的最后一列不是整数,你不能简单地重复行。
将每一行视为一个聚类有什么问题吗?
但你的其他属性似乎是某种类别。这类数据的聚类效果往往很差。可能存在1个差异,2个差异,或者全部不同。这对于有意义的聚类来说过于粗糙。
你还有一个时间戳,所以你可能对时间上的变化感兴趣?