高基数数据的挑战

时间:2018-05-07 17:42:37

标签: python machine-learning data-science dimensionality-reduction cardinality

背景:我正致力于将票证系统数据中的数据分类为失败或成功的请求。请求在完成之前进入各个阶段。在将每个请求标记为完成之前,会将其分配给不同的团队和个人。 利用历史数据,我希望在最终状态x之前为这些票据创建预测,然后将其标记为完成(成功或失败)。

在各种功能中,个人姓名从事记录和工作。团队名称是分析这些数据的重要因素。作为一个庞大的组织,我希望每天增加5-10个新名字。

历史数据

60k记录(用于培训,验证和测试) 拥有10k独特的个人名称

当前数据 总计1k记录 - 有200个人名

由于基数较高的个人姓名,我的数字不固定且不断增长,因此我面临挑战。 1.做出实际预测时的挑战 - 没有。当前数据的列每次都不同,并且永远不会匹配训练数据的特征长度。 - 所以我必须每次训练我的模型,我想做出预测。 2.数据准备时的挑战 - 上面也对数据准备提出了挑战,因为现在我总是需要对完整数据和查询编码数据进行编码,以便分成当前和未来的数据。

对不起,故事很长。

我在寻找什么?

有更好的方法吗? 这些高&不断变化的尺寸是一种痛苦。关于我如何处理它们以避免每次训练的任何建议?

注意:我尝试使用PCA和Autoencoders进行暗红色调。 (对于我的高度不平衡的数据集,结果不是很好,所以我只处理高维数据)

2 个答案:

答案 0 :(得分:0)

您可以使用<ID><NAME>等标准令牌替换数据中的所有ID号和名称。这应该在预处理期间完成。接下来你应该选择一个固定的词汇表。像训练数据中至少出现5次的所有单词一样。

答案 1 :(得分:0)

由于你有一个像你所说的动态数据,你可以使用神经网络来识别和合并更新变量和数据。

你也应该使用像

这样的分类器
  1. CVParameterSelection:用于交叉验证参数选择。

  2. PART:制作决策树,在分治法则上有很大效用。

  3. REP Tree(Pruned):通过拆分错误值减少输出错误

  4. 最后,当你有系统时,你可以运行预测模型!