假设我有一个数据集,其中包含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 = ???
原则上,三个明显的选择是:
但在这种情况下,不确定这些是否正确。
答案 0 :(得分:0)
这没有意义;你有效地建立了两个独立的模型。因此要么构建一个包含所有列的模型(可能使用.parent {
width: 100%;
display: flex;
max-width: 465px;
margin: 0 auto;
}
.button {
text-align: center;
}
),要么将两个模型合并为一个类似
'Distribution','mvmn'
根据每个列的子集实际构建两个模型输出中的单个模型。