Machine learning 分类时,在对真实数据进行预测时,是否需要规范化新引入的特征?
有两个数据集-一个是训练数据集一个是特征数据集,其标签尚待预测(新数据集) 我构建了一个随机森林分类器。一路上我必须做两件事:Machine learning 分类时,在对真实数据进行预测时,是否需要规范化新引入的特征?,machine-learning,classification,prediction,Machine Learning,Classification,Prediction,有两个数据集-一个是训练数据集一个是特征数据集,其标签尚待预测(新数据集) 我构建了一个随机森林分类器。一路上我必须做两件事: 规范化连续数字特征 对分类编码执行一个热编码 现在我有两个问题。当我预测新数据的标签时: 我需要规范化传入的功能吗?(常识告诉我是:))如果是,我应该从训练数据集中获取特定特征的平均值、最大值、最小值,还是应该以某种方式考虑特征的新值 如何对特性的新值进行热编码?我是否考虑到功能的可能新值,扩展特定类别的可能类别词典 在我的例子中,我拥有两个数据集,因此我可以提前
- 规范化连续数字特征
- 对分类编码执行一个热编码李>
现在我有两个问题。当我预测新数据的标签时:
在我的例子中,我拥有两个数据集,因此我可以提前计算所有这些数据,但是如果我只有一个分类器和一个新的数据集呢?我只知道分类器的类型和您正在使用的规范化技术的基本知识,但我认为一般规则也适用于您正在做的事情,就是要做到以下几点 您的分类器不是随机林分类器。这只是作为实际分类器的管道的一个步骤。此管道/实际分类器就是您所描述的:
f
存储min(f)
和max(f)
。然后,在测试/预测期间,您将使用存储的min(f)
和max(f)
值对每个特征f
进行最小-最大缩放
我不知道你所说的“规范化连续数字特征”是什么意思。你是说?如果您在培训期间为这种离散化建立了某种状态,那么您需要找到一种方法将其考虑在内
如何对特性的新值进行热编码?我是否考虑到功能的可能新值,扩展特定类别的可能类别词典
难道你不知道每个类别可以预先有多少个值吗?通常你会这样做(因为分类是指国籍、大陆等——你事先知道的事情)。如果你能得到一个你在训练中没有看到的分类特性的值,那么你是否应该关心它就成了一个问题。你从未训练过的分类价值有什么好处
可能会添加一个“未知”类别。我认为为一个单一的扩展应该是好的,如果你从来没有训练过他们,还有什么好处呢
你有什么分类
我可能错了,但你真的需要一个热编码吗?好吧,基于树的分类器似乎并没有从中受益太多。感谢您如此明确的回复,我仍然需要一些时间来正确处理:)关于随机林/一个热门编码。你是对的,它不应该这样,但我使用的是sklearn.employ.RandomForestClassifier分类器,出于某些愚蠢的原因,它们使分类器无法读取分类字符串值-它们都需要转换为标签(0,1,2,3..等等)所以我决定,如果我能将这些值转换成标签,我可以训练自己做一些o-h-e的事情:)@Dennis如果你有更多的问题,请随意发表评论,我会尽力回答。Scikit学习仅适用于数值数据。我会先尝试将分类转换为数字标签。找到一个始终如一做得不错的工作,然后你就有了一个改进的基准。很好的答案。谢谢