如何合并或组合错误率?

时间:2016-11-13 22:48:59

标签: matlab gaussian categorical-data naivebayes continuous

假设我有一个数据集,其中包含9列连续数据和4列分类数据。在Matlab中,我将列分成两组,分别对它们进行训练/测试(朴素贝叶斯),并确定连续列的错误率为0.45,分类列的错误为0.33。我的问题是 - 如何确定合并错误?

编辑 - 添加了简单的伪代码概述:

for x = 1:num_iterations
  Mdl_NB1 = fitcnb(TrainingSet_Con,TrainingTargets,'Distribution','normal');
  Mdl_NB2 = fitcnb(TrainingSet_Dis,TrainingTargets,'Distribution','mn');
  [NB1_label,NB1_Posterior,NB1_Cost] = predict(Mdl_NB1,TestPoint_Con);
  [NB2_label,NB2_Posterior,NB2_Cost] = predict(Mdl_NB2,TestPoint_Dis);
  NB1_cumulLoss = NB1_cumulLoss + resubLoss(Mdl_NB1);
  NB2_cumulLoss = NB2_cumulLoss + resubLoss(Mdl_NB2);
end
NB1_avg_score = NB1_cumulLoss/num_iterations
NB2_avg_score = NB2_cumulLoss/num_iterations
total_avg_score = ???

原则上,三个明显的选择是:

  • (A + B)/ 2
  • A * B
  • (A *(CountA / TotalCount))+(B *(CountB / TotalCount))

但在这种情况下,不确定这些是否正确。

1 个答案:

答案 0 :(得分:0)

这没有意义;你有效地建立了两个独立的模型。因此要么构建一个包含所有列的模型(可能使用.parent { width: 100%; display: flex; max-width: 465px; margin: 0 auto; } .button { text-align: center; } ),要么将两个模型合并为一个类似

的模型
'Distribution','mvmn'

根据每个列的子集实际构建两个模型输出中的单个模型。