数据集:我得到了每个客户每天使用产品的分钟数,试图通过聚类这些数据来发现常见的使用模式。
我的问题是:如何格式化数据,以便例如,一个在一年内高使用量的重度用户,与另一个仅在一个月内使用设备的重度用户在数据收集结束时看起来相同?
到目前为止,我已经将每个客户转换为一个数组,其中每个单元格是当天使用的分钟数。这个数组从用户首次使用产品时开始,到用户使用一年的最后一天结束。所有单元格中的条目必须是双精度值(例如,200.0分钟)。我考虑过将数据收集的最后一天之后的所有单元格/天设置为-1.0或NULL。这两种方法是否有效?如果不是,您有什么建议?
回答:
对于你希望同时处理两个用户的问题(一个用户在一年内每天大量使用产品,另一个用户在一个月内大量使用),你可以创建一个新条目,其值为:
avg_usage per time_bin
time_bin 可以是一个月、一天或其他最适合你需求的时间单位。这样,一个用户在一年内每天使用产品200分钟,将得到:
200 * 30 * 12 / 12 = 6000 分钟每月
而另一个用户仅在上个月加入,使用量相同,也将得到:
200 * 30 * 1 / 1 = 6000 分钟每月。
这样,无论你何时开始使用产品,重要的是使用率。
你可能需要考虑的一个重要因素是,产品可能会被暂时遗忘。例如,一台电脑,我出去度假了。那些我没有使用电脑的日子,可能不会影响我对该产品的一般使用。因此,根据你的数据、产品和直觉,你可能需要考虑删除像我提到的那样的间隙,并且在计算中不予考虑。
用户使用产品的时间长度可能是一个信号,但如果他确实是最近才开始使用,并且一直使用到今天,这可能是你需要考虑的一个因素,而这种平均分箱技术可能会有所帮助。