将标签进行One-hot编码

将标签进⾏One-hot编码
在利⽤机器学习或者深度学习解决分类问题时,我们需要将标签进⾏编码,有时也需要将离散的⾃变量进⾏分类编码,特别是做神经⽹络或回归预测时,对离散的⾃变量也进⾏One-hot编码扩维是⼀种很好办法,例如我们预测租房市场单个房源的价钱时,假设装修程度是影响其价格的因素,有豪装、精装、中装、简装四种,如果我们将其视为⼀个变量X1不同的值,即分别编码维1,2,3,4,那么做神经⽹络预测时给予这⼀个变量权重,就不是很合适,除⾮事先知道这四种对价格影响的排序,否则不能给予很好的权重,此时应该对其扩维,成为X1、X2、X3、X4,对应的豪装=[1,0,0,0]、精装=[0,1,0,0]...以此类推。如果视为⼀个变量,则豪装=[1]、精装=[2]...以此类推,这样的算法做分类预测或者回归预测是不合适的。此时我们需要对离散的⾃变量X或者标签Y进⾏One-hot编码。
本⽂采⽤Python在Liunx环境下,安装Anaconda3的环境下,进⾏编程实现,值得⼀提的是Anaconda3包含了numpy、pandas、sklearn等科学计算、数据分析、机器学习包,也可以在再次基础上安装tensorflow框架进⾏深度神经⽹络研究。假设有⼀组样本的标签y= [0,1,2,3,1,2,0,1],我们将其进⾏One-hot编码,则代码实现如下松岗罗田
from sklearn.preprocessing import OneHotEncoder
import  numpy as np
y=np.array([0,1,2,3,1,2,0,1])
氮化硅ohe = OneHotEncoder()
ohe.fit([[0],[1],[2],[3]])工业建筑设计手册
shape(-1,1)).toarray())
我们会看到输出结果为
/home/ubuntu/anaconda3/bin/python /home/ubuntu/PycharmProjects/Testpycharm/liyang2.py
[[1. 0. 0. 0.]
马家老鸡铺[0. 1. 0. 0.]
[0. 0. 1. 0.]
[0. 0. 0. 1.]上海银河宾馆
[0. 1. 0. 0.]
[0. 0. 1. 0.]
[1. 0. 0. 0.]
[0. 1. 0. 0.]]
工业经济
Process finished with exit code 0

本文发布于:2024-09-22 14:29:42,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/50742.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:预测   变量   学习   分类   编码
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议