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

机器学习sklearn:编码、哑变量、二值化和分段

就是转换为数值类型方便机器学习模型处理

一、编码

这里举例将Survived这一行的数据转换为编码,原本是字符串类型

2、将标签编码并赋值回去

from sklearn.preprocessing import LabelEncoder
y = data.iloc[:, -1]    # 最后一列拿出来
print(y)
le = LabelEncoder()
le = le.fit(y)
label_ = le.transform(y)# label_ = le.fit_transform(y) # 上面两个可以合并成这个
# le.inverse_transform(label_)  # 逆向编码,和fit_transform相反data.iloc[:, -1] = label_   # 填回最后一列
# 那么多可以简写成这样:
# data.iloc[:, -1] = LabelEncoder().fit_transform(data[:, -1])
data.head()

此时的Survived那一列变成了数字类型

二、哑变量

这里以Embarked那一列举例,它有三个值,这个时候就可以变成二进制的值来存储使用

from sklearn.preprocessing import OneHotEncoder
X = data.iloc[:,1:-1]enc = OneHotEncoder(categories='auto').fit(X)
result = enc.transform(X).toarray()     # 可以合并为:OneHotEncoder().fit(X).transform(X).toarray()
result

0和1列是Sex的编码,其它的是Embarked的编码

三、二值化

原本年龄那一列是数值类型的,然后想要以30岁为界限进行分类

from sklearn.preprocessing import Binarizer
X = data_2.iloc[:, 0].values.reshape(-1,1)      # 找到年龄那一列,并转换为二维数组
transformer = Binarizer(threshold=30).fit_transform(X)

四、分段

将年龄按照段来分开

from sklearn.preprocessing import KBinsDiscretizerX = data.iloc[:, 0].values.reshape(-1,1)        # 取出Age那一列
est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform')
est.fit_transform(X)

也可以不用整数形式显示,用哑变量

# 年龄分三段,哑变量进行显示,onehot控制
est = KBinsDiscretizer(n_bins=3, encode='onehot', strategy='uniform')
est.fit_transform(X).toarray()

http://www.xdnf.cn/news/16779.html

相关文章:

  • 【数据分享】南海综合波浪数据(1945-2018 年)(获取方式看文末)
  • OCR、文档解析工具合集
  • 在Alpine Linux上配置Redis使用NFS存储的完整指南
  • 包裹移动识别误报率↓76%:陌讯时序建模算法实战解析
  • 【C++】stack和queue
  • BGP服务器对于网络攻击该怎么办?
  • 《操作系统真象还原》 第五章 保护模式进阶
  • Qt结合ffmpeg实现图片参数调节/明亮度对比度饱和度设置/滤镜的使用
  • axios请求的取消
  • LOVON——面向足式Open-Vocabulary的VLN导航:LLM做任务分解、YOLO11做目标检测,最后L2MM将指令和视觉映射为动作,且解决动态模糊
  • ansible.cfg 配置文件的常见配置项及其说明
  • zabbix平台无法删除已停用主机的处理案例
  • Idea集成Jenkins Control插件,在IDEA中触发Jenkins中项目的构建
  • vivado implementation报错[Designutils 20-1307]
  • Dify版本升级实操
  • JavaWeb(苍穹外卖)--学习笔记16(定时任务工具Spring Task,Cron表达式)
  • 微信小程序页面间通信的实现方式
  • 《n8n基础教学》第一节:如何使用编辑器UI界面
  • 技术分享: 网关限流
  • kotlin语法和特性分析
  • 信号发生器和示波器阻抗匹配问题
  • WordPress 前端显示英文,后台显示中文的设置
  • 【苍穹外卖项目】Day05
  • 铁皮矫平机冷知识·第三弹
  • 如何保护 Redis 实例的安全?
  • uniapp基础 (一)
  • 基于倍增的LCA + kruskal重构树 + 并查集
  • 嵌入式系统教学范式演进:云端仿真平台如何重构温湿度监测实验教学
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第二天(CSS)
  • Rust → WebAssembly 的性能剖析全指南