【问题标题】:How to deal with the categorical varaible that is not in training set (new categories in test set)?如何处理不在训练集中的分类变量(测试集中的新类别)?
【发布时间】:2019-01-19 14:08:44
【问题描述】:

我想为我的数据集中的 semester 列创建一个分类变量。我还有其他带有目标的附加变量 - 未在表中显示。

训练集:包括2016-2017

测试集或验证集:仅包括 2018

我担心的是,当我制作预测模型时,我将拥有训练集中不存在的分类变量(因子)(即 2018 年春季、2018 年夏季–第一次会议等)。这在理论上会是一个问题吗?如何处理?

  Start         End             Semester
Jan 19,2016   May 6,2016        SPRING 2016
May 16,2016   Jun 25,2016       SUMMER 2016-FIRST SESSION
Jun 27,2016   Aug 6,2016        SUMMER 2016-SECOND SESSION
Aug 24,2016   Dec 16,2016       FALL 2016
Jan 17,2017   May 5,2017        SPRING 2017
May 15,2017   Jun 24,2017       SUMMER 2017–First SESSION
Jun 26,2017   Aug 5,2017        SUMMER 2017-SECOND SESSION
Aug 23,2017   Dec 15,2017       FALL 2017
Jan 16,2018   May 4,2018        SPRING 2018
May 14,2018   June 23,2018      SUMMER 2018–First SESSION
Jun 25,2018   Aug 4,2018        SUMMER 2018-SECOND SESSION 
Aug 22,2018   Dec 14,2018       Fall 2018

【问题讨论】:

  • 您有具体的编程问题吗?
  • @markus 我的问题是从实现和理论的角度来看,如何处理不在训练集中的类别。换句话说,如果我有一个不在训练集中的因素是一个问题。第二件事如何在R中做到这一点?谢谢
  • 对于您问题的 R 部分,请查看vtreat package
  • ML 算法适用于具有模式的数据。您的问题不完整或您的数据必须有规律。您能否详细说明您的问题以获得具体答案
  • @Waseem Ahmad Naeem 我正在使用 2016 年和 2017 年的 2 年数据来预测 2018 年我了解 ML 算法适用于具有模式的数据,我的问题是关于我在测试或验证集中是否有其他因素(测试集)例如,如果我想创建变量“年份”作为分类变量,它将包括从 2016 年到 2017 年的年份,并且在测试集中我必须放入未经训练的因子变量 2018 不会有问题? .让我知道我的问题是否清楚。

标签: dataset data-mining prediction categorical-data


【解决方案1】:

机器学习算法学习数据中的模式,如果我们没有任何重复的模式,那么它们很可能无法提供足够的答案。我认为您需要将足够的信息转换为您的模型以获得合理的输出。关于您的研究问题,可能会有所不同: 例如,如果您想回答第 y 年第 x 学期的开始和结束时间是什么时候? 您可以将学期列转换为春季到秋季的 1 到 4 的 4 个有序分类变量。此外,您应该在数据中提供年份列,并在 DD、MM 中提供结束和开始时间。

【讨论】:

  • 如果将年份分开,将其分开,则会出现类似的问题(即 2018 年将是一个未引入训练模型的新类别)-因为我只基于两个因素创建了我的模型(2015&2016),我说的对吗?如果我错了,请纠正我
  • 这个转换过程使我们能够将我们的问题从分类一转换为回归一。因此,这种模式是某种类型的不重复类型的记录空间之间的递增和递减模式。或者为了更有启发性,我们可以考虑 2016 年春季到 2018 年秋季的 1 到 12。
  • 所以根据我从您的评论中了解到的情况,如果我们在训练集中甚至没有该因子(即训练集是从 1 到 11),那么 2018 年秋季的因子 12 是可以的),我说的对吗?
  • 我认为在这种情况下,我们的因子将是一个序数变量,随着时间的推移而增加,这样新的数字就可以了吗?对
  • 是的。请不要在机器学习的监督学习分支中将所有问题分为分类和回归两类。在分类问题中,我们想要回答这样一个问题,即我们应该从每个类中获得足够的数据,以发现每个类数据中隐藏的模式。然而,回归试图回答多少的问题。因此,我们试图通过不同的维度来预测数据的波动模式。在最简单的情况下,考虑找出 f(x) 和 x 之间的关系。
猜你喜欢
  • 2019-11-04
  • 1970-01-01
  • 2016-04-04
  • 2021-03-17
  • 2015-01-21
  • 1970-01-01
  • 2018-08-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多