变量编码方式one-hot encoding ,label encoding

本文介绍了机器学习中离散型数据的两种编码方式:one-hot encoding和label encoding。one-hot encoding通过0和1表示分类,适用于定类数据,能避免维度灾难;label encoding使用自定义数字标签,适用于定序数据,但可能导致数值解释问题。选择编码方式应考虑数据类型和模型特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在机器学习中,我们拿到的数据通常比较脏乱,可能会带有各种非数字特殊符号,比如中文。而机器学习模型需要的数据是数字型的,因为只有数字类型才能进行计算。这时便需要对变量进行编码,那变量是如何进行编码的呢?

一.特征编码类型

对于离散型数据的编码,我们通常会使用两种方式来实现,分别是:one-hot encoding 和 label encoding。

1.定义

  • one-hot encoding也就是我们常常听到的独热编码(哑变量 , 它是将原始特征变量转换成以原始特征值分类的多维度的变量,并用是否(0,1)这种方式的新特征值替代和量化。在pandas中有现成的独热编码方法get_dummies。例如pd.get_dummies()

    • 举例:
      数据矩阵是4*3,即4个数据,3个特征维度。
      0 0 3
      1 1 0
      0 2 1
      1 0 2
      观察上面的数据矩阵,第一列为第一个特征维度,有两种取值0\1. 所以对应编码方式为10 、01,
      同理,第二列为第二个特征维度,有三种取值0\1\2,所以对应编码方式为100、010、001,
      同理,第三列为第三个特征维度,有四中取值0\1\2\3,所以对应编码方式为1000、0100、0010、0001,
      再看要进行编码的参数[0 , 1, 3], 0作为第一个特征编码为10, 1作为第二个特征编码为010, 3作为第三个特征编码为0001. 故此编码结果为 1 0 0 1 0 0 0 0 1
  • label encoding就是用标签进行编码的意思,即将原

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值