keras中多标签图像的一种热编码方法

2024-09-27 19:19:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用PASCAL VOC 2012数据集进行图像分类。一些图像具有多个标签,其中一些图像具有单个标签,如下所示。在

    0  2007_000027.jpg               {'person'}
    1  2007_000032.jpg  {'aeroplane', 'person'}
    2  2007_000033.jpg            {'aeroplane'}
    3  2007_000039.jpg            {'tvmonitor'}
    4  2007_000042.jpg                {'train'}

我想对这些标签做一个热编码来训练模型。但是,我不能使用keras.utils.to\u分类,因为这些标签不是整数和熊猫。去拿假人没有给我预期的结果。get_dummies给出了如下不同的分类,即将每个独特的标签组合作为一个类别。在

^{pr2}$

什么是最好的方式一个热编码这些标签,因为我们没有具体的标签为每个图像。在


Tags: 数据模型图像编码分类trainutils标签
1条回答
网友
1楼 · 发布于 2024-09-27 19:19:21

如果第二列中有sets,可以使用MultiLabelBinarizer

print (df)
                 a                        b
0  2007_000027.jpg               {'person'}
1  2007_000032.jpg  {'aeroplane', 'person'}
2  2007_000033.jpg            {'aeroplane'}
3  2007_000039.jpg            {'tvmonitor'}
4  2007_000042.jpg                {'train'}

^{pr2}$

或者^{}和{a2},但在大数据帧中应该慢一些:

df = df['b'].str.join('|').str.get_dummies()
print (df)

   aeroplane  person  train  tvmonitor
0          0       1      0          0
1          1       1      0          0
2          1       0      0          0
3          0       0      0          1
4          0       0      1          0

相关问题 更多 >

    热门问题