使用Scikit学习和概率进行多标签分类而不是简单标签

时间:2017-10-29 14:40:14

标签: machine-learning scikit-learn classification multilabel-classification

我想对一组三维图像(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多标签分类(以及如何)训练我的模型吗?

请注意:

  • 特征提取不是问题。
  • 预测不是问题。

1 个答案:

答案 0 :(得分:-1)

  

我可以用多重分类框架以某种方式处理这个问题吗?

要使predict_proba返回每个A,B,C,D类的概率,需要使用每个图像一个标签训练分类器。

  

如果是:怎么样?

将图像类用作训练集中的标签(Y)。那就是你的输入数据集看起来像这样:

F1  F2  F3  F4  Y

1   0   1   0   A
0   1   1   1   B
1   0   0   0   C
0   0   0   1   D
(...)

其中F#是每张图片的功能,Y是由医生分类的类。

  

如果否:还有其他方法吗?

对于每个图像有多个标签,即多个潜在类别或其各自概率的情况,多标签模型可能是更合适的选择,如Multiclass and multilabel algorithms中所述。