我有一个数据集,其中包含一个与给予某人的称呼有关的特征向量。先生,夫人等我正在使用这个特征向量来预测这些人的年龄,但我的训练集并不包含我在测试集中看到的所有值。我已经考虑过这种方法,我可以将我的测试集和训练集中的这个特定特征向量的值组合起来,但我不想这样做,我认为这是作弊,因为我们正在使用来自我们测试集的信息动车组。我真的想对如何解决问题有一些意见。
训练集中的所有值:
levels(as.factor(x$Salutation))
[1] "Capt" "Col" "Countess" "Don" "Dr" "Jonkheer" "Lady" "Major" "Master" "Miss" "Mlle" "Mme" "Mr" "Mrs" "Ms" "Rev" "Sir"
测试集中存在的所有值:
levels(as.factor(y$Salutation))
[1] "Col" "Dona" "Dr" "Master" "Miss" "Mr" "Mrs" "Ms" "Rev"
致敬" Dona"当我试图预测测试集上的年龄时,搞砸了我的决策树
答案 0 :(得分:0)
正如BondedDust指出的那样,没有办法知道什么" Dona"可能意味着。但是,您可以将此类观察标记为" NA"这是决策树可以处理的东西。然后根据你的问题表述你可以
什么是合适的取决于数据来源,是否有其他变量,评估指标是什么等等。
答案 1 :(得分:0)
另一种方法是,如果您的训练集足够大,并且如果您能够放弃没有所需功能集的数据,则可以这样做。删除该特定数据行。当我的训练数据集庞大时,我做了很多次。