对数据进行采样和拆分

采样简介

为机器学习项目收集足够的数据通常很困难。但是,有时数据太多,您必须选择一个示例样本进行训练。

如何选择该子集?以 Google 搜索为例。您会在什么样的粒度下对其庞大的数据进行采样?您是否会使用随机查询?随机会话?随机用户?

归根结底,答案取决于以下问题:我们要预测哪些内容?我们想要哪些特征?

  • 如需使用上一次查询功能,您需要在会话级进行采样,因为会话包含一系列查询。
  • 如需使用过去几天的用户行为功能,您需要在用户层级进行采样。

针对个人身份信息的过滤(个人身份信息)

如果您的数据包含个人身份信息(个人身份信息),您可能需要将其从数据中过滤掉。例如,某项政策可能要求您移除不常使用的功能。

这种过滤方式会使您的分布出现偏差。您会失去尾部信息(即值非常低,远离平均值值的那一部分)。

这种过滤方式非常实用,因为不常使用的功能很难学习。但请务必注意,您的数据集将偏向于头部查询。在供应时,从尾部投放样本的情况会变差,因为这些样本已从训练数据中过滤掉。虽然这种偏差无法避免,但在分析过程中要注意。