0
点赞
收藏
分享

微信扫一扫

【机器学习】快速贴标签和找标签对应的数据


快速贴标签和找标签对应的数据

  • ​​前言需求​​
  • ​​一、贴标签​​
  • ​​二、找标签对应的数据​​
  • ​​总结​​

手动反爬虫:​​原博地址​​

知识梳理不易,请尊重劳动成果

如若转载,请标明出处,谢谢!

前言需求

在进行机器学习的过程中,模型创建之前,需要进行标签的处理,比如将文本数据转化为数值,而在最后的预测时候,又想检验一下预测的标签结果是否对应的文本数据一致,因此就有了快速贴标签和找标签对应数据的要求。

一、贴标签

这里就使用10个文本数据进行举例

ls = ["汽车", "财经", "科技", "健康", "体育", "教育","文化","军事","娱乐","时尚"]

贴标签的过程就相当于是让列表中的数据一一对应上数值,那么使用python自带的enumerate函数就可以实现,但是输出的结果却是反的,也就是需要将键值对的顺序调换一下,因此贴标签只要解决字典中键值对顺序的替换就可以了

print({v:k for k,v in dict(enumerate(ls)).items()})

输出的结果为:(贴标签的要求就完成了)

{'汽车': 0, '财经': 1, '科技': 2, '健康': 3, '体育': 4, '教育': 5, '文化': 6, '军事': 7, '娱乐': 8, '时尚': 9}

二、找标签对应的数据

在最后的预测部分,想知道输出的结果对应原来的文本数据,只需要遍历字典进行满足条件的结果输出即可

label_mapping = {v:k for k,v in dict(enumerate(ls)).items()}
print({'{}:{}'.format(key,value) for key,value in filter(lambda x:x[1] == 7, label_mapping.items())})

输出结果为:(这里的代码只需要修改x[1]后面等于的值即可,就可以完成目标要求,进行结果输出)

{'军事:7'}

总结

所有的代码就是简单地四行

ls = ["汽车", "财经", "科技", "健康", "体育", "教育","文化","军事","娱乐","时尚"]  #文本数据
print({v:k for k,v in dict(enumerate(ls)).items()}) #贴标签


label_mapping = {v:k for k,v in dict(enumerate(ls)).items()} #贴标签后进行赋值
print({'{}:{}'.format(key,value) for key,value in filter(lambda x: x[1] == 7, label_mapping.items())}) #查找文本数据


举报

相关推荐

0 条评论