当前位置: 首页 > 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.dtcms.com/a/340924.html

相关文章:

  • AGV小车cad+三维图+设计说明书
  • Autoware Universe 感知模块详解 | 第一节 宏观认识Autoware Universe整体架构
  • Linux Shell 常用操作与脚本示例详解
  • DL00271-基于YOLOv11的激光雷达LiDAR船舶目标检测含完整数据集
  • C++开发/Qt开发:单例模式介绍与应用
  • 系统架构设计师备考第1天——系统架构概述
  • Redis-缓存-雪崩-持久化、集群、灾备
  • VSCode架构解析
  • MyIP:开源的功能强大的网络诊断工具箱,解析与部署
  • PyTorch中的c10::ArrayRef和at::IntArrayRef
  • 【图像算法 - 19】慧眼识苗:基于深度学习与OpenCV的大棚农作物生长情况智能识别检测系统
  • 基于最小二乘支持向量机的数据回归预测 LSSVM
  • 第四章:大模型(LLM)】07.Prompt工程-(4)思维链(CoT, Chain-of-Thought)Prompt
  • python的物资管理系统
  • Java内功修炼(2)——线程安全三剑客:synchronized、volatile与wait/notify
  • MongoDB 分片集群修改管理员密码
  • 密码加密算法和JWT无状态认证
  • K距离间隔重排字符串 (LeetCode 358) — Swift解法 + 可运行Demo
  • 360T7刷OpenWRT笔记
  • 深入解析EventPoller:Disruptor的轮询式事件处理机制
  • Download:几款主流的全球范围的NDVI产品参数说明和下载
  • Spring Boot 发展史
  • 机器学习——数据清洗
  • JS对象与JSON转换全解析
  • C/C++嵌入式笔试核心考点精解
  • AI 与 OCR 识别:深度融合的智能信息提取技术
  • Elasticsearch 写入全链路:从单机到集群
  • 实验8.20
  • nvidia最新论文:小型语言模型是代理人工智能的未来
  • iOS App 上架实战 从内测到应用商店发布的全周期流程解析