如何为两个不同的推荐系统选择随机数据?

数据挖掘 数据集 统计数据 推荐系统 测试
2022-02-14 23:34:34

业务问题:我们有两家不同的供应商提供个性化推荐引擎,并希望与他们进行 A/B 测试。该推荐将通过手机上的推送消息为用户提供个性化的报价。在测试期间,我们应该为每个提供商提供一个数据集,其中包含有关客户的不同详细信息(购买历史、应用内事件等)。每个供应商都会收到一个具有相同信息但来自不同客户的数据集。

选择这两个数据集以使它们在客户行为方面相似的最佳方法是什么?

我认为从我们的数据库中给他们随机数据不是一种严格的方法,所以我想到的一个想法是在我们的数据库上应用 dbScan 集群并进一步从每个集群中随机挑选客户端——我不知道这是否是最好的方法。完整的数据库有 200k 个客户端,每个数据集应该包含 5k 个客户端。

示例:在 dbScan 聚类之后有k=10聚类,所以我从每个聚类中随机挑选元素并将它们拆分为 Dataset01 和 Dataset02。

有什么建议么?

1个回答

欢迎@Remus Raphael :) - 你的方法是一个不错的选择。

更具体地说,如果基于密度的算法已经为您工作,我会推荐HDBSCAN聚类算法,它应该具有更好的性能并且具有独特的内置集群验证(基于DBCV算法)。

那么您的一般管道可能是:

  1. 可选的预处理
  2. 用于有意义的文本特征的可选 NLP / TFIDF
  3. 可选的降维(我发现TSNETruncatedSVD可以很好地与带有文本处理的 HDBSCAN 配合使用)
  4. HDBSCAN 调整不同的参数和距离指标
  5. 最后,当您对聚类质量感到满意时 - 您可以简单地从 2 个最大的聚类开始进行 AB 测试

我很想听听您对实际数据的反馈:)