背景
离散型变量在某些机器学习任务中经常出现,有时离散型变量是否能够充分使用直接关系到我们训练的模型性能。
虽然现在很多常用的机器学习方法都对离散型变量有了很好的支持,比如catboost、lightGBM等,但有时为了方便比较和尝试更多的模型方案,离散型变量的处理仍然是我们需要解决的问题。
本文的重点在于对现有的常用离散变量处理方法进行梳理,并提供相应的方法函数供读者参考。由于能力有限其中难免有所梳理,欢迎大家多多指教,共同学习、共同进步!
P.S. 由于精力有限,关于是什么和为什么的问题就不在此浪费时间讨论了,我们直接从怎么做入手开始我们今天的探讨。
概述
今天主要介绍以下几种方法,方法都是将离散变量(值为整数或者字符串)转换成大多数模型所支持的数值型变量。不仅提供了测试代码,还提供了工程上可实操的代码。至于其他的一些特殊的离散列编码方式如FC,目标列编码等,由于篇幅原因我们将新开一篇博客讨论。
方法一 OneHotEnCoder | 方法四 LableEncoder |
方法二 get_dummies | 方法五 OrdinalEncoder |
方法三 DictVectorizer | 方法六 dict直接映射 |
方