有两个数据集 - 训练一个和一组功能,标签尚未预测(新的)。
我构建了一个随机森林分类器。一路上我不得不做两件事:
现在我有两个问题。当我预测新数据的标签时:
我是否需要规范化传入的功能? (常识告诉我是的:))如果是这样,我应该从训练数据集中获取特定特征的均值,最大值,最小值,还是应该以某种方式考虑特征的新值?
如何对功能的新值进行热编码?我是否会考虑特征的可能新值来扩展特定类别的可能类别的字典?
在我的情况下,我拥有两个数据集,所以我可以提前计算所有这些东西,但如果我只有一个分类器和一个新的数据集呢?
答案 0 :(得分:2)
我只对您使用的分类器类型和规范化技术有基本了解,但我认为适用于您正在做的事情的一般规则是执行以下操作。
您的分类器不是随机森林分类器。这只是管道的一个步骤,它充当您的实际分类器。这个管道/实际分类器就是你所描述的:
- 规范化连续数字要素。
- 对分类文件执行单热编码。
醇>
此管道包含3件事,是您实际使用的分类器。
现在,分类器如何工作?
所以:
- 我是否需要规范传入的功能? (常识告诉我是的:))如果是这样,我应该从训练数据集中获取特定特征的均值,最大值,最小值,还是应该以某种方式考虑特征的新值?
醇>
您的分类器会对训练数据的传入要素进行规范化,因此它也会针对看不见的实例对其进行规范化。要做到这一点,它必须使用它在训练期间建立的状态。
例如,如果您对功能进行最小 - 最大缩放,则您的状态会为每个功能min(f)
存储max(f)
和f
。然后,在测试/预测期间,您将使用存储的f
和min(f)
值对每个要素max(f)
进行最小 - 最大缩放。
我不确定你的意思"标准化连续数字功能"。你的意思是discretization?如果你在训练期间为这种离散化建立一些状态,那么你需要找到一种方法来计算它。
如何对功能的新值进行热编码?我是否会考虑特征的可能新值来扩展特定类别的可能类别的字典?
你不知道每个类别预先有多少价值?通常你这样做(因为分类是国籍,大陆等事情 - 事先你知道的事情)。如果您可以获得您在培训期间未见过的分类功能的价值,那么即使您应该关心它也会引发疑问。你从未接受过培训的绝对价值有什么用?
也许添加"未知"类别。我认为扩大一个人应该没问题,如果你从来没有接受过培训,那么还有什么好处呢?
你有什么样的分类?
我可能错了,但你真的需要一个热门编码吗? AFAIK,基于树的分类器似乎并没有从中受益。