2015-11-09 18 views
0

我想在R中使用bnlearn包中的模型来做分类器预测,但对于某些数据集,某些变量值(级别)很少见,这意味着测试数据分区可能并不具有所有的值对于数据文件中表示的变量。如何使用bnlearn中的模型数据结构设置数据集中的级别?

当使用预测()与这种类型的数据集,类似于返回以下的错误消息的BN模型:

:在check.data(数据):变量V3具有水平即在数据中没有观察到 。

我想类似这里的方法模型来重置等级:

Error in bn.fit predict function in bnlear R

,但我没有访问原始数据,只是模型。

那么,如何从bn数据结构中获取层数以设置要预测的数据集中的层数呢?

回答

0

答案是,问题是提出错误的事情。在仔细研究代码之后,答案在于函数check.data,用于验证学习阶段和预测阶段的数据,在这种情况下,它是非感性的。正确的答案是修改bnlearn以消除此错误。

+0

并有一个更详细的答案。看看这里:https://informationentropy.wordpress.com/2015/11/11/knime-and-r-integration-with-unbalanced-classes-in-test-and-train-partitions/ – MrSampson