本文是对 机器学习“特征编码”的经验分享:鱼还是熊掌? 的笔记总结

机器学习模型需要的数据是数字型的,因为只有数字类型才能进行计算

所以对可分类型的数据进行编码,就是量化的过程。有两种编码方式可以对种类编码:one-hot encodinglabel endcoding

one-hot encoding

用pandas包里的get_dummies函数实现one-hot编码

pandas.get_dummies(df['Elevator']) #对电梯列数据,有/无电梯进行one-hot编码

one-hot编码的数字是0和1

one-hot编码会把该数据列的每一个类别都提取出来,变成新的一列,所以该列数据有多少分类,就会新增多少特征列

label encoding

class=['大一','大二','大三','大四']
df=pandas.DataFrame({'Class':Class})
classMap={'大一':1,'大二':2,'大三':3,'大四':4}
df['class']=df['class'].map(classMap) #要用到map函数
df

label encoding 就是针对该列数据的类别是有顺序关系的,可以标记序号、排序来理清各个类别间的关系

如何选择?

除了上面解释到的两个编码的差别,还要根据算法、模型来判断使用哪一个编码

  • 逻辑回归和SVM算法对数值大小敏感,一定要使用one-hot编码
  • 树模型对数值大小不敏感,而且一般一列数据里会有很多个种类,用one-hot编码会造成维度灾难,并且也会限制树模型的一直分裂。用label encoding。

hot编码 字符one_Python机器学习:特征编码的两种方式相关推荐

  1. IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装)

    这篇文章主要介绍了IDEA安装阿里巴巴编码规范插件的两种方式详解(在线安装和离线安装),本文通过截图给大家展示的非常详细,需要的朋友可以参考下 目录 1.在线安装: 2.离线安装: IDEA安装阿里巴 ...

  2. java 生成二维码 QRCode、zxing 两种方式

    版权声明:本文为 testcs_dn(微wx笑) 原创文章,非商用自由转载-保持署名-注明出处,谢谢. https://blog.csdn.net/testcs_dn/article/details/ ...

  3. unicode和字符串之间的转换有两种方式

    unicode和字符串之间的转换有两种方式. 1.1.通过JDK自带的"native2ascii"进行转换     首先,您测试的机器需要安装JDK,比如我的机器环境,我的JDK安 ...

  4. java get和post请求参数设置,Get和Post两种方式向指定地址提交表单

    做Java做了很多年,却总是把一些东西遗忘,过后再着急的找寻.最近,需要通过Java代码模拟一个表单提交,却怎么也想不起来如何封装数据了. 本篇主要描述Java网络参数传递,主要分为get和post两 ...

  5. Eclipse设置jsp的编码格式最简单常见的两种方式

    Eclipse设置jsp的编码格式最简单常见的两种方式 为什么要改变编码方式,原因不外是为了程序运行时的方便,不会出现乱码,最初的jsp的编码并不是utf-8,而是其他iso-8859-1等等,但这样 ...

  6. ASP.NET 生成二维码(采用ThoughtWorks.QRCode和QrCode.Net两种方式)

    最近做项目遇到生成二维码的问题,发现网上用的最多的是ThoughtWorks.QRCode和QrCode.Net两种方式.访问官网看着例子写了两个Demo,使用过程中发现两个都挺好用的,Thought ...

  7. MySQL入门--显示表结构的两种方式

    显示表的字段名,字段数据类型,字段约束情况,存储引擎,默认字符编码集,有以下两种方式.  方式1 SHOW COLUMNS FROM <表名>;= DESC <表名>; 方式2 ...

  8. java文件读写的两种方式

    今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码: public static void main(String[] args) throws IOExceptio ...

  9. java 读取css文件_java文件读取的两种方式

    JAVA中读取文件(二进制,字符)内容的几种方 JAVA中读取文件内容的方法有很多,比如按字节读取文件内容,按字符读取文件内容,按行读取文件内容,随机读取文件内容等方法,本文就以上方法的具体实现给出代 ...

最新文章

  1. python 高级面试题_Python高阶面试题
  2. java类的命名规范_浅谈Java中的命名规范
  3. 存定期还能加钱进去吗_很多人说傻子才存钱,在银行存定期还有必要吗?
  4. anglar ajax执行2次的原因,angular2 router’解决问题被执行两次
  5. 开源 免费 java CMS - FreeCMS1.3-数据对象-mail
  6. linux下怎么将html换成pdf,如何在Linux上使用PHP将HTML/CSS转换为PDF
  7. 企业拥抱开源之前,必须了解的七件事
  8. Scrapy爬虫报错AttributeError: ‘NoneType‘ object has no attribute ‘write‘
  9. librdkafka介绍文档
  10. -矩阵-创建矩阵-meshgrid函数
  11. Github视频教程-黄棒清-专题视频课程
  12. Metasploit 读书笔记
  13. 用Excel制作不一样的分割图表
  14. PS通道高反差保留计算人物磨皮技巧
  15. Ubuntu小技巧14--sed命令详解
  16. 网上卖生鲜产品怎么做引流?生鲜电商的引流方法有哪些?特点是什么?
  17. ElasticSearch排序引起的all shards failed异常
  18. java web编写的在线问卷系统 完整源码 下载直接运行
  19. revit建模批量标高操作,简单的一匹。
  20. 如何重新启动Windows的Explorer.exe(以及任务栏和“开始”菜单)

热门文章

  1. 人工智能——命题逻辑与谓词逻辑
  2. System.Web.HttpRequestValidationException——从客户端检测到危险的Request值
  3. 计算机竞赛作文,计算机打字比赛作文例文
  4. PHP is_null,empty以及isset,unset的区别
  5. PHP用单例模式实现一个数据库类
  6. PHP生成订单号的五种方法:时间拼接随机数 混拼字母 减年份转十六进制 雪花算法 拼接时间戳与随机数
  7. Linux的vagrant配置vmware
  8. Wechat公众号授权登录接口
  9. java phantomjs_Java爬虫:Jsoup + Phantomjs
  10. PHP根据地址 获取坐标 thinkphp根据地址 获取坐标(百度地图)