【问题标题】:Challenges with high cardinality data高基数数据的挑战
【发布时间】:2018-05-07 17:42:36
【问题描述】:

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

在各种特征中,处理记录的个人姓名和团队名称是分析此数据的非常重要的因素。作为一个庞大的组织,我预计每天都会添加 5-10 个新名称。

历史数据

60k 记录(用于训练、验证和测试) 拥有 10k 个唯一的个人姓名

当前数据 超过 1k 条记录 - 有 200 个个人名字

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

对不起,说来话长。

我在寻找什么?

有没有更好的方法? 这些高且不断变化的维度是一种痛苦。关于如何处理它们的任何建议,以避免每次都进行培训?

注意:我尝试将 PCA 和自动编码器用于暗红色。 (结果对于我高度不平衡的数据集来说不是很好,所以我只处理高维数据)

【问题讨论】:

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


    【解决方案1】:

    既然你有你说的动态数据,你可以使用神经网络来识别和合并更新变量和数据。

    你也应该使用分类器

    1. CVParameterSelection : 用于交叉验证参数选择。

    2. 部分:用于制作决策树,非常实用,因为它适用于分而治之的规则。

    3. REP 树(修剪):通过拆分错误值来减少输出中的错误

    最后,当您的系统就位后,您就可以运行预测模型了!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-05-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 2015-02-20
        • 2023-03-17
        相关资源
        最近更新 更多