如何在Python easy中将标记集转换为belongness元组(“multi-hot”编码)?
我有一组标签如何在Python easy中将标记集转换为belongness元组(“multi-hot”编码)?,python,one-hot-encoding,Python,One Hot Encoding,我有一组标签标签和所有可能标签的有序列表标签列表。现在,我想将一组标记转换为“多热”编码,即获得一个与taglist长度相同的列表或元组,其中有一个在位置,属于的标记在哪里,零在其他位置 目前我做的是traightforward: multihot = [] for i in range(len(taglist)): tag = taglist[i] if tag in tags: m
标签
和所有可能标签的有序列表标签列表
。现在,我想将一组标记转换为“多热”编码,即获得一个与taglist
长度相同的列表或元组,其中有一个在位置,属于的标记在哪里,零在其他位置
目前我做的是traightforward:
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]
听起来你在做多标签编码
sklearn
可以为您做到这一点: