# coding=gbk
def deal():
# 假设特征类别的全集已经得到(有很多种办法可以得到,自行解决)
TAGS_LIST = ['汽车研发', '其他交通工具制造', '汽车后市场', '停车服务', '车联网', '汽车综合服务', '汽车制造', '汽车交易', '出行服务', '公共交通', '汽车交通支撑服务',
'物流服务', '仓储服务', '物流信息化', '配送服务', '物流支持服务', '人工智能基础支撑', '人工智能核心技术·自然语言处理', '人工智能核心技术·计算机视觉',
'人工智能通用应用', '人工智能应用场景', '无人机', '机器人', '新材料', '3D打印', '3D扫描', '微纳制造', '激光加工', '新能源汽车', '数字制造', '关键元器件',
'高端装备制造', '数据源', '数据基础技术', '数据服务', '大数据通用应用', '大数据行业应用']
# 假设其中一个样本的特征为a
a = ['汽车研发', '其他交通工具制造']
print("一共有多少种分类: ", len(TAGS_LIST))
for i in a:
for x in range(len(TAGS_LIST)):
if TAGS_LIST[x] == i:
TAGS_LIST[x] = 1
for y in range(len(TAGS_LIST)):
if TAGS_LIST[y] != 1:
TAGS_LIST[y] = 0
print("手动处理为onehot的结果为:", TAGS_LIST)
print("判断处理后的结果和原来的类别全集是否一样长: ", len(TAGS_LIST))
if __name__ == '__main__':
deal()
运行结果
一共有多少种分类: 37
手动处理为onehot的结果为: [1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
判断处理后的结果和原来的类别全集是否一样长: 37