数据预处理--独热编码(One-Hot Encoding)和 LabelEncoder标签编码

本文介绍了离散特征的两种编码方式,重点讲解了独热编码(One-Hot Encoding)的原理、应用场景及优缺点。通过pandas的get_dummies和sklearn库展示了实现方法。独热编码能将分类数据转换为可处理的数值形式,适用于解决分类器处理属性数据的问题,并在某些情况下需要进行归一化。然而,当类别数量过多时,可能会导致特征空间过大,此时可以结合PCA进行降维。对于基于树的模型,如决策树,独热编码并非必需,因为它们不依赖向量空间的度量。
摘要由CSDN通过智能技术生成

一、问题由来

在很多机器学习任务中,特征并不总是连续值,而有可能是分类值。

离散特征的编码分为两种情况:

1、离散特征的取值之间没有大小的意义,比如color:[red,blue],那么就使用one-hot编码

2、离散特征的取值有大小的意义,比如size:[X,XL,XXL],那么就使用数值的映射{X:1,XL:2,XXL:3}

使用pandas可以很方便的对离散型特征进行one-hot编码

import pandas as pd
df = pd.DataFrame([
            ['green', 'M', 10.1, 'class1'], 
            ['red', 'L', 13.5, 'class2'], 
            ['blue', 'XL', 15.3, 'class1']])
 
df.columns = ['color', 'size', 'prize', 'class label']
 
size_mapping = {
   
           'XL': 3,
           'L': 2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值