我正在使用我创建的数据集在 Matlab 中训练分类器。不幸的是,数据集中的一些特征没有被记录下来。
我目前将未知功能设置为 -99999。
因此,例如,我的数据集看起来像这样:
class1: 10 1 12 -99999 6 8
class1: 11 2 13 7 6 10
...
class2: 5 -99999 4 3 2 -99999
class2: -99999 16 4 3 1 8
...
class3: 18 2 11 22 7 5
class3: 19 1 9 25 7 5
...
依此类推,其中 -99999 是无法测量特征的地方。在这种情况下,每个类有 6 个特征。
我不想让我的分类器偏向于未知特征,所以我认为将未知数设置为 -99999 是个好主意,这样它就会超出正常特征的范围。
我用 -99999 测试了分类器,它的准确率为 78%。然后我将 -99999 更改为 0 并再次测试分类器,这次准确率为 91%。
所以我的问题是,当某些特征没有被记录时,训练分类器的一般规则是什么?我假设将未知数设置为非常高的负值是否正确?但是为什么当我将未知数设置为 0 时它会更准确呢?
谢谢阅读!