0

我正在尝试通过在 trainData 上对其进行训练然后在 testData 上进行测试来使用神经网络,就像任何人都会做的那样。但是,数据需要将一些标称特征虚拟编码为数字。当我这样做时,它会训练神经网络,但在将其应用于测试数据(我在其上应用完全相同的转换/块)时失败,因为虚拟编码*不匹配。

*错误信息在以下行中:v47=H 在 testData 中不存在

我检查了一下,确实 testData 在 v47 中根本没有值“H”,而 trainData 有它。因此,我想在 v47 中忽略这个“H”,或者替换它。

有什么办法可以轻松做到这一点?请记住,其他功能也可能会发生这种情况,并逐个检查所有功能来解决此类问题,这将非常耗时。

也许还有另一种方法可以解决这个问题?

谢谢!

4

1 回答 1

0

这与之前的帖子类似

这个答案建议将测试和训练数据结合起来,以使名义上的所有可能值都出现,然后拆分以再次恢复测试和训练集。可能的附加标称值将保留在两个拆分中。

这可能不适合,因此另一种可能性是Data to Weights在训练示例集上使用运算符。然后可以将得到的权重与Select by Weights操作员一起使用,以仅将感兴趣的属性保留在测试示例集中。

于 2016-03-17T12:10:58.053 回答