【发布时间】:2021-08-20 22:30:00
【问题描述】:
我有一个模型,其数据框中的特征和标签具有如下列:
[id, feature_1, feature_2, feature_2,...,feature_N, label_1, label_2, label_3]
这里的标签是 1,0 代表真,假。我为每个标签独立构建了一个模型,所以,
model_1: [id, feature_1, feature_2, feature_2,...,feature_N, label_1]
model_2: [id, feature_1, feature_2, feature_2,...,feature_N, label_2]
model_3: [id, feature_1, feature_2, feature_2,...,feature_N, label_3]
所以最后我有 3 个模型可以用来预测每种标签类型,我可以得到 如果每行的 label_1(2 或 3)为真/假,则概率介于 0 和 1 之间。
我想将这些概率汇总为一个分数。然而,问题是这些都是依赖的。因此,如果我独立对待他们,我会遇到可能会得到的情况
[label_1, label_2, label_3] = [1.0, 1.0, 0.001], 0.99*0.99*0.001 = 0.0001
现在的问题是,有时我们需要预测的可能已经有 label_1 和 label_2 但没有 label_3,所以我们只预测 label_3。这个汇总分数太小了,因为 label_1 和 label_2 是已知的并且是 True,但是汇总会说它们是错误的 - 但我们可能对 0.001 的预测没有那么自信。为了解决这个问题,我使用几何平均值
(1.0*1.0*0.001)^(1/3) = 0.10
这似乎工作正常,但我想知道是否有更好的方法来处理这个问题?
【问题讨论】:
-
这是一个非常有趣的问题,与如何将关系信息表达为条件概率有关。因此,这里不在主题范围内,请尝试 stats.stackexchange.com。究竟它是如何摆脱的,很大程度上取决于关于输入和标签变量如何相关的假设,特别是标签之间的关系。 label_1 存在,label_2 存在,label_3 不存在很常见吗?如果是这样,那么考虑为 label_3 构建一个模型,该模型将其他标签作为输入;这相当于关于它们之间的关系的特定假设。
标签: python machine-learning math statistics data-science