machine-learning - 分类时,在预测真实数据时是否需要对新输入的特征进行标准化?

标签 machine-learning classification prediction

有两个数据集 - 训练数据集和一组特征数据集,其标签尚未预测(新数据集)。

我构建了一个随机森林分类器。一路上我必须做两件事:

  • 标准化连续数字特征。
  • 对分类编码执行 one-hot-encoding。
<小时/>

现在我有两个问题。当我预测新数据的标签时:

  1. 我需要标准化传入的特征吗? (常识告诉我是的:))如果是这样,我应该从训练数据集中获取特定特征的平均值、最大值、最小值,还是应该以某种方式考虑特征的新值?

  2. 如何对特征的新值进行热单编码?我是否考虑到特征可能的新值来扩展特定类别的可能类别字典?

就我而言,我拥有两个数据集,因此我可以提前计算所有这些内容,但如果我只有一个分类器和一个新数据集怎么办?

最佳答案

我只对您正在使用的分类器类型和标准化技术有基本了解,但我认为也适用于您正在做的事情的一般规则是执行以下操作。

您的分类器不是随机森林分类器。这只是充当实际分类器的管道的一步。这个管道/实际分类器就是您所描述的:

  1. Normalize continuous numeric features.
  2. Perform a one-hot-encoding on the categorical ones.
  • 对前 2 个步骤中获得的信息使用随机森林分类器。
  • 这个管道包含 3 个内容,是您实际用作分类器的管道。

    现在,分类器是如何工作的?

    1. 您根据训练数据构建一些状态
    2. 您使用该状态对测试数据进行预测。

    所以:

    1. Do I need to normalize the incoming features? (common sense tells me that yes :) ) If so, should I take the mean, max, min values for a specific feature from the training data set or should I somehow take into account the new values of the features?

    您的分类器会对训练数据的传入特征进行标准化,因此它也会对未见过的实例的特征进行标准化。为此,它必须使用在训练期间建立的状态。

    例如,如果您对功能进行最小-最大缩放,您的状态将为每个功能存储 min(f)max(f) f。然后,在测试/预测期间,您将使用存储的 min(f)max(f) 对每个特征 f 进行最小-最大缩放> 值(value)观。

    我不确定“标准化连续数字特征”是什么意思。你的意思是discretization ?如果您在训练期间为这种离散化建立了某种状态,那么您需要找到一种方法来将其考虑在内。

    How do I hot-one-encode the new values of the features? Do I expand the dictionary of the possible categories for a specific category taking into account the possibly new values of the features?

    你不知道每个类别可以有多少个值吗?通常你会这样做(因为分类是指国籍、大陆等——你事先知道的事情)。如果您可以获得在训练期间未见过的分类特征的值,那么就引出了您是否应该关心它的问题。您从未接受过训练的分类值有什么用?

    也许添加一个“未知”类别。我认为扩展单个应该没问题,如果你从未接受过它们的训练,那么再多又有什么用呢?

    您有什么类型的分类?

    我可能是错的,但是你真的需要 one-hot 编码吗? AFAIK,基于树的分类器似乎并没有从中受益太多。

    关于machine-learning - 分类时,在预测真实数据时是否需要对新输入的特征进行标准化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32671536/

    相关文章:

    machine-learning - Tensorflow - 预测序列 : what is X and Y?

    c++ - 监控 Caffe 中的培训/验证过程

    machine-learning - CNN 和决策树/森林有什么区别

    tensorflow - 在使用 tf.keras.preprocessing.image_dataset_from_directory() 时如何在预测期间获取文件名?

    r - 运行这两条线后如何获得马修斯相关系数?

    machine-learning - 强化学习中导致相同状态的多个 Action

    machine-learning - 自动编码器的数据预处理技巧

    machine-learning - 使用有偏差的数据集训练决策树

    r - 使用 keras 在 Rstudio 中构建分类模型

    machine-learning - 基于小序列的后续序列预测