我们拥有来自 600,000 名用户的数据,这些数据描述了他们是否观察到了 80 多个二进制特征中的每一个。也就是说,我们的数据是具有用户配置文件的 600,000 x 80 二进制矩阵。
我们从检查中知道,一些特征是正相关和负相关的。一些正面/负面特征排除了其他特征。大多数用户的个人资料中的正面特征少于 10 个。
我们希望通过从 80 多个潜在用户中向他们询问最少一组问题来检索新用户的个人资料。
这个想法是向新用户提供一小组问题(5-10)。这些应该提供最大量的信息,以“减少”合理的后续问题的数量。在用户回答了第一组问题后,我们想问下一组,再次更快地“减少”后续问题的数量。考虑正面和负面的反应似乎是合理的。
你能给我一些关于如何实现这个模型的提示吗?我们希望拥有:
- 一种衡量给每个用户的预期问题数量分布的方法。
- 一些调整提供的“初始问题数量”的方法。
- 应该对模型进行预处理,以便能够对用户输入做出快速反应。
- 如果可能,可视化问题之间的关系。
- 如果可能的话,能够控制预期的问题数量(我猜是通过丢弃低相关性)。
- 如果可能,使用新的受访者逐步更新模型(非关键)
我们计划在 Python 中进行原型设计,然后在 .Net 中实现,但欢迎使用任何其他提示/代码。