机器学习100天(四):004 数据预处理之类别特征编码

news2024/11/15 8:56:13

机器学习100天,今天讲的是:数据预处理之类别特征编码。

在上一节,我们对特征 X 的 NaN 值进行了平均数插值处理。

我们打开 X,查看第一列特征,国家这一列:
在这里插入图片描述
发现这一列特征都是字符串,例如:法国、德国、韩国。

大部分机器学习模型,字符串类别特征是不能用来直接进行数值处理和分析的,我们必须将类别型特征转化为连续型特征。通俗地来说就是把这里的字符串转化为数值。

怎么做呢?

最简单的做法是标签编码,就是直接将类别特征从字符串转换为数字,例如我们直接把法国编码为 0,德国编码为 1,韩国编码为 2。就是这样:
在这里插入图片描述
但是这种做法有个很大的缺点,0,1,2 在数值上是连续的,它很容易给机器学习模型一个误导,就是这些特征之间存在大小等某种数值上的关系。但是,法国、德国、韩国,这些特征量之间并不存在某种数值关系。因此,处理类别特征最常用的做法就是使用独热编码(One-hot 编码)。

One-hot 编码又称为一位有效编码,是采用 N 个状态进行编码,每个状态在任意时候只有一位有效,且为 1,其它位为 0。

例如,这里 X 的第一列国家特征,所有样本总共有三种类别:法国、德国、韩国

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/97353.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

极简TS语法入门

@关于TypeScript 微软/大项目:诸位,都按我定义好的类型撸码,谁也别TM瞎搞!哥也没时间跟你们浪费口舌了,凡瞎**搞的让丫连编译都通不过!(内心:不把C++的一点基因伸到前端被窝去你们当我微软是真软啊…)各种装X大厂:收到!立马装起来!什么?研发成本?这个我们不考虑的…

LeetCode刷题复盘笔记—一文搞懂动态规划之5. 最长回文子串问题(动态规划系列第二十五篇)

今日主要总结一下动态规划的一道题目,5. 最长回文子串 题目:5. 最长回文子串 Leetcode题目地址 题目描述: 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串…

Java项目:SSM失物招领网站信息管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 本项目为后台管理系统,分为管理员与用户两种角色; 管理员角色包含以下功能: 管理员登录,修改个人信息,用户…

零编程基础小白学习python应该看的python入门书籍

Python作为目前的大势,是很多人转行的首选,会python的人工资通常都比较高。Python在人工智能、大数据、自动化运维、全栈开发方面有着得天独厚的优势。随着Python继续占领编程语言主流的趋势,全国各城市的招聘职位和薪资均会大幅度上涨。另外…

使用java访问HDFS

文章目录利用Java编写程序访问HDFS1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、启动集群HDFS服务5、在HDFS上创建文件利用Java编写程序访问HDFS 1、创建Maven项目 创建Maven项目 - HDFSDemo 单击【Create】按钮 2、添加相关依赖 在pom.xml文件里添加hadoop和…

【问答篇】Java 基础篇面试题(二)

每天进步一点~ 01、问:PreparedStatement与Statement的区别? 答: PreparedStatement是预编译语句执行者,数据库对sql语句进行预编译;Statement是执行时对sql语句进行编译 Statement存在sql注入的问题,Prep…

25.读写文件

到目前为止,我们讨论了如何处理数据, 以及如何构建、训练和测试深度学习模型。 然而,有时我们希望保存训练的模型, 以备将来在各种环境中使用(比如在部署中进行预测)。 此外,当运行一个耗时较…

English Learning - L1-3 从此没有不会的表达(上) 2022.12.12 周一

English Learning - L1-3 从此没有不会的表达(上) 2022.12.12 周一4 名词性从句名词性从句的类型4.1 各种从句的变身4.1.1 陈述句的变身一个严肃的问题:为什么要加 that ?那什么情况下,that 是可以省略的?特殊动词4.1…

Okhttp源码分析实践(三)【WebDemo的简单实现】

我们继续深入探索okhttp的知识点和面。本章,我们一起来实现一些简单的服务端Demo API,至于为什么,其实之前也说过,一方面是为了使我们之前所学的http的基础知识得到实践运用,另外一方面,是为了我们之后自己编写实现okhttp时,避免不了肯定要做很多API测试,免费的测试api…

vue3 provide与inject进行状态管理

vue3 provide与inject进行状态管理 一、数据仓库准备 在store–>新建index.js文件,作为仓库数据 状态集中管理数据实现响应式ref reactive—>对象中存储状态msg,age,counter import {reactive} from vue const store{//数据state:reactive({msg:"Hello …

WebRTC:P2P音视频通话基础概述

前言 本篇文章参考WebRTC基础知识详解_签约计划_IT酷盖_InfoQ写作社区,介绍了P2P音视频通信的场景下的一些基础知识,包括WebRTC的基本架构、协议栈,一对一通话基础,和一对一通话原理三部分。 WebRTC基本架构 WebRTC 的组件架构分…

css样式补充,项目前置认知,精灵图,背景图片大小,阴影,过渡,SEO简介

1、css样式补充,项目前置认知,字体图标 学习目标: u 能够在网页中使用 精灵图 u 能够使用 背景大小属性 ,设置背景图片的大小 u 能够认识 CSS书写顺序,提高代码专业性和浏览器渲染性能 u 能够使用的专业方式完成 项目结…

1_MyBatis入门-1_认识框架

原生JDBC实现CURD的问题 1 编码繁琐 2 需要我们自己将结果集映射成对象 3 性能不太好 连接池 缓存 4 SQL语句和java代码的耦合度特别高 5 … … MyBatis 本是Apache的一个开源项目iBatis, 2010年这个项目由Apache Software Foundation 迁移到了Google Code,且…

java高级--Elasticsearch

一、概述搜索引擎 1.1 什么是搜索引擎 概念:用户输入想要的关键词,返回含有该关键词的所有信息。 场景: 1、互联网搜索:谷歌、百度、各种新闻首页 2、 站内搜索(垂直搜索):企业OA查询订单、人员…

Linx基础(8)shell基础

该文章主要为完成实训任务,详细实现过程及结果见【参考文章】 参考文章:https://howard2005.blog.csdn.net/article/details/127139576?spm1001.2014.3001.5502 文章目录一、常用shell命令1. 管道命令任务1、查看/etc目录信息前5行信息任务2、查看/etc/…

【谷歌新作】Transformer杀入机器人领域,RT-1:97%成功率,轻松完成700多条控制指令

谷歌机器人团队等在机器人领域构建了一个多任务 transformer 模型,显著改进了对新任务、环境和对象的零样本泛化。 我们知道,机器学习(ML)多个子领域(如 NLP 和 CV)的最新重大进展通过一种共享的通用方法实…

ZYNQ之FPGA学习----SPI协议驱动模块仿真实验

1 SPI通信协议简介 SPI通信协议基础知识学习:硬件设计基础----通信协议SPI 2 实验任务 设计SPI驱动模块,并进行仿真验证,观察仿真波形 3 实验设计 3.1 创建工程 新建工程,操作如图所示: 输入工程名和路径&#x…

m基于K-means聚类算法和神经网络的模糊控制器设计matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 聚类就是按照某个特定标准把一个数据集分割成不同的类或簇,使得同一个簇内的数据对象的相似性尽可能大,同时不在同一个簇中的数据对象的差异性也尽可能地大。即聚类后同一…

React学习23(redux基本使用)

理解 1)学习文档 英文文档:https://redux.js.org/ 中文文档:https://www.redux.org.cn/ github:https://github.com/react.js/redux 2)redux是什么 redux是一个专门用于状态管理的JS库(不是react插件库) …

JavaScript中的4种for循环

这里介绍了4中for循环的方法。 注&#xff1a;这里不介绍do while循环。 普通for循环 这个应该是最常规的for循环了&#xff0c;按照数组下标遍历。 for (var i 0; i < 3; i) {console.log(i); }var arr [{"text":"text2","key":1},{&q…