我正在与KNIME合作并尝试使用测试数据训练我的朴素贝叶斯分类算法。我尝试使用10倍交叉验证来使我的结果准确但我无法生成PMML模型:我不断收到错误已经分配了循环结束(起始节点有多个终端节点)。这是我的KNIME工作流程:
答案 0 :(得分:0)
正如错误消息所示,您有两个循环结束节点( PMML Ensemble Loop End 和 X-Aggregator 节点)但只有一个循环开始(<强> X-分区程序强>)。
你想要实现的目标是什么?通常,交叉验证的目的是估计预测模型在未知数据上的表现。如果你想要的是一个训练有素的朴素贝叶斯模型,你可以用它做出预测,我想你想删除 PMML Ensemble Loop End ,而是将规范化的数据集连接到第二个< strong> Naive Bayes Learner ,配置与第一个相同,以及X-Partitioner输入。第二个学习者的输出是您可以用于预测的模型。通过这种方式,第二个学习者节点在整个数据集上进行训练,获得最精确的模型,而交叉验证循环中的原始数据集仅用于生成模型有多好的估计值。
如果您想确保两个学习者都使用相同的设置,您可以使用流变量将整个数据集学习器中的设置值传递给循环内的设置值: