繁体   English   中英

如何在 Python 中轻松地将标签集转换为归属元组(“多热”编码)?

[英]How to convert set of tags to belongness tuple (“multi-hot” encoding) in Python easy?

我有一组标签tags和所有可能的标签taglist的有序列表。 现在我想将一组标签转换为“多热”编码,即获得一个与taglist长度相同的列表或元组,并且在某些地方有一个,属于标签所在的地方和其他地方的零。

目前我做直截了当:

        multihot = []
        for i in range(len(taglist)):
            tag = taglist[i]
            if tag in tags:
                multihot.append(1)
            else:
                multihot.append(0)

可以写单行吗?

multihot = [(tag in tags) for tag in tag_list] 

multihot 现在包含 True 或 False 条目。 在 Python 中,True 的行为与 1 完全相同,而 False 的行为与 0 相同; 所以这相当于你的解决方案。

您可以通过列表理解来达到它,添加条件标签是否在标签中,如果是,则插入 1 否则 0。

multihot = [1 if tag in tags else 0 for tag in taglist]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM