【发布时间】:2018-04-10 14:50:33
【问题描述】:
我想对一组 3d 图像 (MRI) 进行分类。有 4 个类别(即疾病等级 A、B、C、D),其中 4 个等级之间的区别并非微不足道,因此我对训练数据的标签不是每个图像一个类别。这是一组 4 个概率,每个类一个,例如
0.7 0.1 0.05 0.15
0.35 0.2 0.45 0.0
...
...基本上意味着
- 第一张图片属于 A 类的概率为 70%,B 类的概率为 10%,C 类的概率为 5%,D 类的概率为 15%
- 等等,我相信你明白了。
我不明白如何用这些标签拟合模型,因为 scikit-learn 分类器期望每个训练数据只有 1 个标签。只使用概率最高的类会导致糟糕的结果。
我可以使用 scikit-learn 多标签分类(以及如何)训练我的模型吗?
请注意:
- 特征提取不是问题。
- 预测不是问题。
【问题讨论】:
-
您的意图是预测图像在四个类别中的任何一个类别中的分类,还是“搜索”其他地方定义的概率?你的输入数据是什么——图像数据本身,还是图像上的一些元信息?概率(数据上的标签)来自哪里?
-
我试图制定一般的设置,希望这会更容易。但如果这真的有帮助,我可以提供以下具体化:输入数据是大脑的 3D 扫描 - 但我的问题是不是如何计算相关特征(你称之为元信息)。目的是预测 3d MRI 属于(疾病)类别 A、B、C 和 D 的(四个)概率。这 4 个类别之间的区别并非微不足道,因此我的标签只是概率(由医生分类)。这四个概率的总和为 1.0。
-
每个图像是否有唯一且正确/最佳的标签分配给这些图像?在我看来,在计算四个类别的概率并将它们用作标签时,您实际上是在做分类器的工作。如果您可以使用 A、B、C、D 类作为标签,predict_proba 方法将为任何给定的新输入返回每个类的概率。
-
您可能应该将这些概率作为附加特征与最高类别标签一起发送,然后查看 predict_proba 的结果(如果它有任何变化)。无论如何,正如它现在定义的那样,这个问题不适合堆栈溢出。请将此添加到stats.stackexchange.com
-
您想用作标签的概率是如何得出的?您还说预测不是问题。也许您不需要机器学习算法而是搜索算法?
标签: machine-learning scikit-learn classification multilabel-classification