特征工程之数据预处理-非数值类型数据处理

在特征工程中,非数值类型数据处理是关键步骤。本文介绍了Python中两种处理方法:Get_dummies哑变量处理,用于将类别数据转化为0/1虚拟变量,但可能产生多重共线性;Label Encoding编号处理,直接将文本转换为数字,但可能导致错误的关系。Get_dummies适合类别不多的情况,配合PCA可用于降维,而Label Encoding对树模型影响较小。
摘要由CSDN通过智能技术生成

'''在实际工作中获取到的数据往往不那么理想,可能会存在非数值类型的文本数据、重复值、缺失值、异常值及数据分布不均衡等问题,因此,在进行数学建模前还需要对这些问题进行处理,这项工作称为特征工程。特征工程通常分为特征使用方案、特征获取方案、特征处理、特征监控几大部分,其中特征处理是特征工程的核心内容,有时称为数据预处理。'''

#非数值类型数据处理
'''机器学习建模时处理的都是数值类型的数据,然而实际工作中获取的数据往往会包含非数值类型的数据,其中最常见的就是文本类型的数据,例如,性别中的“男”和“女”,处理时可以用查找、替换的思路,分别转换为数字1和0。但如果类别有很多,又该如何处理呢?本节就来介绍Python中两种常用的非数值类型数据处理方法——Get_dummies哑变量处理和Label Encoding编号处理。'''

(1)Get_dummies哑变量处理
'''哑变量也叫虚拟变量,通常取值为0或1,上面提到的将性别中的“男”和“女”分别转换成数字1和0就是哑变量最经典的应用。在Python中,通常利用pandas库中的get_dummies()函数进行哑变量处理,它不仅可以处理“男”和“女”这种只有两个分类的简单问题,还可以处理含有多个分类的问题。'''

import pandas as pd
df=pd.DataFrame({'客户编号':[1,2,3],'性别':['男','女','男']})
df.head()
df=pd.get_dummies(df,columns=['性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值