为什么软投票中,不能用不同算法模型的预测水平也就是score来进行权重赋予呢?
来源:13-2 Soft Voting Classifier
猫多余
2023-04-03
如题,在讲软性投票之前,我先想到的就是题目中的思路,但是实际并不是这样。那我的想法可行吗?和官方的想法的差异会不会很大呢?
1回答
-
liuyubobobo
2023-04-04
抱歉,我没有理解你的问题。
“我先想到的就是题目中的思路”题目中的思路是指什么思路?
“实际并不是这样。那我的想法可行吗”你的想法是什么?
“和官方的想法的差异会不会很大呢?”官方的想法又指什么?
==========
对于分类问题,score 反应的是在一组数据中的准确率,也就是一组数据有 n 个样本,这个算法正确判断了 m 个,那么 score 就是 m / n。
按照这个定义,我们最终训练好的 soft voter,里面集成的每一个算法,可能准确率都是 90%(基于训练数据集),那么按照你的想法,因为所有的模型的准确率都是 90%,他们的权重应该是一样的。可是面对一个具体的样本,每个模型判断这个样本是 A 还是 B 的概率可能是不同的(虽然他们的准确率都是 90%。)对于分 A 还是分 B 这个问题,我们更关心是 A 还是 B 的概率。
但是你的想法非常好,我们确实可以再多一层权重,用模型在训练集上的准确率作为另一层权,去细化集成算法给出的结果。
比如我们的 soft voting 包含两个模型 x 和 y。
模型 x 判断样本是 A 的概率是 90%,B 的概率是 10%,但是模型 x 的准确率只有 60%;
模型 y 判断样本是 A 的概率是 30%,B 的概率是 70%,但是模型 y 的准确率有 90%;
那么我们确实可以先按照模型 x 和 y 的准确率,给两个模型一个权值 0.4 和 0.6,
然后计算出两个模型判断是 A 的概率是 0.9 * 0.4 + 0.3 * 0. 6 = 0.54;B 的概率是 0.1 * 0.4 + 0.7 * 0.6 = 0.46。用这个结果作为最终的判断依据。
继续加油!:)
142023-04-06
相似问题