【发布时间】:2017-03-27 13:20:22
【问题描述】:
假设我有一个包含 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))
但不确定这些是否正确,在这种情况下。
【问题讨论】:
-
任何代码示例?
标签: matlab gaussian categorical-data naivebayes continuous