当前位置: 首页 > news >正文

独热编码

独热编码OneHotEncoder可以将分类字符串变量数值化,例如:

这里有三个样本,每个样本有三个特征,我们可以用独热编码将其转换成数字,代码如下

from sklearn import preprocessing
X=[['male','USA','firefox'],['female','UK','google'],['male','China','ie']]
enc=preprocessing.OneHotEncoder()
enc.fit(X) #训练模型
print(enc.transform([['male','USA','google'],['female','UK','firefox']]).toarray())#测试集得出结果

运行结果如下可见三个特征并不是转换成三个数字,而是一个特征转换成了多个数字

接下来看看从文件中导入离散数据并将这些离散特征通过独热编码数值化,关键是要先把数据存入一个二维矩阵中(原文件数据中第一行是变量名称,否则会少一行)。

import pandas as pd
import numpy as np
from sklearn import preprocessing
from pandas import DataFrame
data=pd.read_excel(r"C:\Users\Liugengxin\Desktop\课程\数据科学\大作业\小数据集测试\离散.xlsx") #这里用pandas的read_excel方法将数据读入
arr=np.array(data) #将data转换为数组放在arr中
enc=preprocessing.OneHotEncoder()
enc.fit(arr) #训练模型
data=enc.transform(arr).toarray() #将测试集用该模型转换成数字
DataFrame(data).to_excel(r'c:\Users\Liugengxin\Desktop\2.xlsx')  #将结果写入文件中

 

转载于:https://www.cnblogs.com/Liu269393/p/10259124.html

相关文章:

  • Intellij Idea 关闭自动保存、标记修改未保存文件为星号、修改内存大小
  • 【18】让接口容易被正确使用,不易被误用
  • 【S13】vector和string优先于动态分配的内存
  • java程序调用序列,存储过程,函数等
  • mysql 1
  • Spring系列之手写一个SpringMVC
  • SharePoint中List的大Version和小Version的区别
  • 20名香港大学生结束湖南广电实习 回味“湘遇”之旅
  • 已附件的形式发送测试报告
  • 我与51CTO博客园的第一次
  • PCA降维
  • PHP 全局变量
  • 朋友圈继续扩大!科蓝软件联合蚂蚁金服发布“移动金融逸平台”
  • MySQL面试题之如何优化一条有问题的SQL语句?
  • UOJ131 [NOI2015] 品酒大会
  • [NodeJS] 关于Buffer
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • [数据结构]链表的实现在PHP中
  • Consul Config 使用Git做版本控制的实现
  • Electron入门介绍
  • Java教程_软件开发基础
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Netty 4.1 源代码学习:线程模型
  • Netty源码解析1-Buffer
  • ReactNative开发常用的三方模块
  • sessionStorage和localStorage
  • sublime配置文件
  • 从0搭建SpringBoot的HelloWorld -- Java版本
  • 飞驰在Mesos的涡轮引擎上
  • 推荐一个React的管理后台框架
  • 学习ES6 变量的解构赋值
  • MPAndroidChart 教程:Y轴 YAxis
  • 机器人开始自主学习,是人类福祉,还是定时炸弹? ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​MySQL主从复制一致性检测
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • $L^p$ 调和函数恒为零
  • (26)4.7 字符函数和字符串函数
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (九)c52学习之旅-定时器
  • (九)One-Wire总线-DS18B20
  • (利用IDEA+Maven)定制属于自己的jar包
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (十一)c52学习之旅-动态数码管
  • (五)c52学习之旅-静态数码管
  • (转)JAVA中的堆栈
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ***监测系统的构建(chkrootkit )
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net core 依赖注入的基本用发
  • .Net mvc总结
  • .Net中的集合
  • @Mapper作用
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [AIGC] Java 和 Kotlin 的区别