【数据挖掘】【笔记】数据预处理之类别特征编码

定义

类别特征:如['male', 'female']等,模型不能直接识别的数据。处理的目的是将不能够定量处理的变量量化。
特别的比如星期[1, 2, ... , 7]虽然是数字,但是数值之间没有大小顺序关系,需要视为类别特征。

处理

编码为模型可识别的数值型特征。

根据模型处理能力的不同,需要考虑单纯映射为数值或哑变量编码。(尤其是线型模型和SVMs with standard kernels, knn?)

sklearn.preprocessing.OneHotEncder

This estimator transforms each categorical feature with m possible values into m binary features, with only one active.

把所有可能取值转换为二进制表示,只含一个一的那种?

结果
  • dt, rf, gb, ada等对于缩放,编码等不敏感,结果差异不大
  • svr, knn结果缩放有提高,编码还会变差?

pandas.get_dummies

哑变量编码,适用于pd.DataFrame。

功能和OneHot类似,有额外的drop_first功能。

总结

  • 哑变量编码对于sklearn中的sklearn模型的意义不大。尤其是基于树模型没有影响。
  • 线性模型有影响
  • svm影响不大,甚至默认参数时因为特征增加,表现下降
  • knn不受影响(knn受冗余特征的影响较大)

为什么无关紧要的特征会损害KNN?
image
答:如上图,横轴为无关紧要特征,因为横轴特征的出现,将原本鲜明的聚类特征模糊化,纵轴权重被横轴稀释,从而得到错误的聚类结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值