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

(第二十五节课内容总结)

有序变量表示类别之间存在顺序关系,例如学历(小学、初中、高中),但它们之间不能直接进行数学计算。为了在模型中表示这些有序变量,我们可以使用编号(如1、2、3)来表示它们的顺序,以保留它们之间的关系。

在机器学习中,模型通常需要数字型数据作为输入。因此,非数字型数据需要转换为数字型。常见的转换方法包括:

  1. One-Hot 编码:将类别变量转换为二进制向量,例如,A 类别可以表示为 [1, 0, 0],B 类别表示为 [0, 1, 0]。

  2. 序号编码:适用于类别之间有大小关系的情况,如成绩的高低。可以用数字1、2、3来表示“低、中、高”。这种编码保留了类别之间的大小关系。

  3. 目标标签编码:通常用于标签类特征,从0开始对类别进行连续编号,如1、2、3、4等。这种方法操作简单,但可能会引入不存在的顺序关系。

  4. 二值化编码:将连续型变量根据某个阈值转换为两类。例如,年龄大于30岁为一类,小于等于30岁为另一类。这种方法常用于逻辑回归等模型中,其核心思想是将数据离散化。

在处理数据时,我们通常需要根据数据的特点选择合适的编码方法,以确保模型能够正确理解和处理数据。

  1. 数据标准化

    preprocessing.scale():将数据的均值调整为0,方差调整为1,适用于大多数机器学习算法。
  2. 最大最小值标准化

    preprocessing.MinMaxScaler():将数据缩放到指定的最小值和最大值之间,通常是[0, 1]。
  3. 数据标准化(Z-score标准化)

    preprocessing.StandardScaler():将数据的均值调整为0,标准差调整为1,适用于特征尺度相近的情况。
  4. 绝对值最大标准化

    preprocessing.MaxAbsScaler():将每个特征除以其绝对值的最大值,使所有值落在[-1, 1]之间。
  5. 带离群值数据集标准化

    preprocessing.RobustScaler():使用中位数和四分位距进行缩放,对离群点不敏感。
  6. 分位数信息变换特征

    preprocessing.QuantileTransformer():将原始分布映射到均匀分布,基于分位数而非均值/方差。
  7. 幂变换

    preprocessing.PowerTransformer():对数据进行幂变换,使数据更接近正态分布。
  8. 正则化

    preprocessing.Normalizer():将数据的特征缩放到单位范数,每个样本的特征向量长度缩放到1。
  9. 分类特征转换为分类数值

    preprocessing.OrdinalEncoder():将分类特征转换为有序数值。preprocessing.LabelEncoder():将分类标签转换为数值型编码,主要用于目标变量。
  10. 多标签二值化

    preprocessing.MultiLabelBinarizer():将多个类别标签转换为二进制矩阵。
  11. 独热编码

    preprocessing.OneHotEncoder():将每个类别变量转换为多个二进制特征列。
  12. 将连续数据离散化

    preprocessing.KBinsDiscretizer():将连续数据转换为离散的bin。
  13. 自定义特征处理函数

    preprocessing.FunctionTransformer():允许用户定义自己的特征处理函数。
  14. 特征二值化

    preprocessing.Binarizer():将特征二值化,大于阈值的归为一类,小于等于阈值的归为另一类。
  15. 创建多项式特征

    preprocessing.PolynomialFeatures():生成多项式特征,捕捉特征间的非线性关系。
  16. 弥补缺失值

    preprocessing.Imputer():通过指定策略(如均值、中位数、众数或常数)填补缺失值。
http://www.xdnf.cn/news/1334665.html

相关文章:

  • 【数据结构】直接选择排序
  • 基于卷积神经网络的多输出数据回归预测CNN(多输入多输出)
  • 机器学习总复习
  • C++高频知识点(三十二)
  • 【免费AI文档助手开发实战系列】基于正则表达式的PDF脱敏python服务构建(一)
  • 自动驾驶导航信号使用方式调研
  • “无纸化办公”加速推进,房产证智能识别技术或成行业标配
  • STM32H743芯片STM32H750解密解析
  • 云原生俱乐部-RH294知识点归纳(1)
  • 直流无刷电机旋转原理
  • Model Context Protocol (MCP) - 尝试创建和使用一下MCP Client
  • [Mysql数据库] 用户管理选择题
  • ssl代理
  • 面试记录5 .net
  • MySQL 8.x的性能优化文档整理
  • 深入理解与应用向量嵌入(Vector Embeddings):原理、实现与多场景实践
  • linux 内核 - 内存管理单元(MMU)与地址翻译(一)
  • 【GPT入门】第49课 LlamaFacotory 训练千问
  • macos 多个版本的jdk
  • 从ioutil到os:Golang在线客服聊天系统文件读取的迁移实践
  • Linux 文件系统权限管理(补充)
  • 技术半衰期悖论:AI时代“不可替代领域“的深耕地图
  • 【Day 30】Linux-SQL语句
  • 23种设计模式——模板方法模式(Template Method Pattern)详解
  • JavaScript 性能优化实战:从原理到落地的完整指南
  • 深入解析RAGFlow六阶段架构
  • element table 表格多选框选中高亮
  • 实现自己的AI视频监控系统-第一章-视频拉流与解码2
  • 【网络运维】Linux 文本处理利器:sed 命令
  • Obsidian 1.9.10升级