PyTorch深度学习与实践【03】【数据的三种类型及其编码方案】

发布时间:2026/8/25 15:55:23

PyTorch深度学习与实践【03】【数据的三种类型及其编码方案】
一、数据的三种类型一连续值比例 / 区间尺度数值之间的差值、倍数有实际物理含义。例子重量 3kg10kg。10‑37代表重量差 7kg10kg 是 3kg 的三倍重。葡萄酒里面酒精度、酸度、pH 全部都是连续值直接喂神经网络没问题。二序数值数字只有大小排序意义差值没有实际含义。例子小杯 1中杯 2大杯 3我们知道大杯中杯小杯。但是(13)/22不能得出中杯数字 2 并不等于 1 和 3 中间一半的体积。⚠️ 不能直接拿数字做加减乘除运算葡萄酒质量评分 (0‑10) 本质上就属于序数值三分类值分类尺度数字完全没有顺序含义只是给类别起编号。例子水 1咖啡 2牛奶 3。2咖啡不大于 1水只是名字代号。1、2、3 谁大谁小没有任何意义❗这种数据绝对不能直接把数字丢进神经网络必须做独热编码。二、标签分离特征数据 和 目标标签分开例读出来数组形状(4898, 12)4898一共 4898 瓶葡萄酒样本数量1212 列11 个化学特征 1 个质量标签wineq 张量包含全部 12 列。深度学习铁则输入特征 和 预测标签一定要分开不能混在一起送入网络。#取所有行除最后一列 → 输入特征X(11项化学指标)datawineq[:,:-1]#取所有行只取最后一列 → 目标标签y葡萄酒质量分targetwineq[:,-1]三、标签两种编码方案核心重点现在target存的就是葡萄酒质量分数标签我们有两种编码选择一方案 1整数标签直接转成 long 长整型targetwineq[:,-1].long()结果tensor([6, 6, 7, 6 …])优点最简单保留分数顺序关系7 分酒 6 分酒缺点神经网络会自动误以为 7 和 6 之间的距离 6 和 5 之间的距离强行赋予数值距离含义✅适合回归任务、有序标签质量评分这种有高低顺序二方案 2独热编码 one‑hot适合无序分类什么叫独热编码一共有 10 个分数等级 (0‑9)每个标签生成长度为 10 的向量。只有对应位置填 1剩下全部填 0。分数 5 → [0,0,0,0,0,1,0,0,0,0]分数 6 → [0,0,0,0,0,0,1,0,0,0]代码示例拆解#第一步生成一个全0矩阵4898行样本每行预留10个位置target_onehottorch.zeros(target.shape[0],10)#第二步scatter_填充1target_onehot.scatter_(1,target.unsqueeze(1),1.0)target.unsqueeze(1)原来 target 形状[4898]是一维数组。unsqueeze给它增加一列变成[4898, 1]二维索引张量。scatter 要求索引张量和目标矩阵维度一致不然会报错scatter_三个参数解释参数 1dim1 → 沿着行方向的列索引填充参数 2索引张量告诉程序每一行第几列的位置要填上 1参数 3填充的值1.0对每一瓶葡萄酒找到对应质量分数编号那一列把 0 改成 1。什么时候选独热编码当标签没有顺序比如标签红葡萄酒、白葡萄酒、玫瑰葡萄酒类别之间谁也不比谁好这时必须独热编码。如果是葡萄酒质量评分有序独热编码反而会丢掉「6 分比 5 分好」这个顺序信息。四、总结五、如何处理连续、有序和分类数据列一回归任务、回归特征回归任务模型输出一个连续的数字预测一个值直接使用数据 当作回归特征使用直接当作回归特征使用 原封不动不做任何编码、转换直接把这一列数字放进神经网络当作输入 X神经网络天生就可以接收小数、连续数值。什么都不用处理这就叫直接当作回归特征。二离散数据三有序分类数据定义属于离散的类别标签类别之间存在客观、有意义的高低、先后、等级顺序关系但是相邻类别之间的差值间隔大小未知、不一定相等。核心关键点✅顺序是真实有效的差一般好优秀❌等级之间的距离不相等“差→一般” 的差距 ≠ “好→优秀” 的差距❗本质仍然是类别数据不是真正的连续数值只是预处理时你拥有选择权可以人为映射成整数 1‑2‑3临时当作连续特征使用。四无序分类数据定义属于离散类别标签由若干互斥、独立的类别组成类别只起到命名、区分作用类别之间不存在任何大小、高低、先后、等级顺序关系。核心关键点只有类别之分没有等级之分AB这个关系完全无意义就算人为编号红 1蓝 2绿 312 这个大小关系是虚假的不能当真五流程图解析是否是连续数据如果是直接使用数据也就是当作回归特征使用非连续数据判断是否为有序数据如果是可以进行人为选择选择保留顺序当作连续回归特征使用喂入模型缺点强行引入距离选择舍弃顺序转为独热编码降级处理成无序分类数据若为分类数据则使用独热编码使用独热编码的步骤.long()转整数标签之后进行独热编码第一步操作先用.long()把浮点分数6.0→整数索引6。但⚠转为整数标签只是一个过渡不等于彻底抛弃顺序如果你只用整数索引[5,6,7]作为标签PyTorch 的CrossEntropyLoss本身不会强制距离但数字大小的信息仍然隐含在索引中。想要彻底抹除顺序就要再进一步做独热编码独热向量之间5、6、7 三者的向量距离完全一样顺序彻底消失。

相关新闻

辽宁智慧校园平台建设方案怎么选?几点实用经验帮你少走弯路

辽宁智慧校园平台建设方案怎么选?几点实用经验帮你少走弯路

2026/8/25 15:45:22

✅作者简介:合肥自友科技 📌核心产品:智慧校园平台(包括教工管理、学工管理、教务管理、考务管理、后勤管理、德育管理、资产管理、公寓管理、实习管理、就业管理、离校管理、科研平台、档案管理、学生平台等26个子平台) 。公司所有人员均有多…

基于SpringBoot的医院患者与病历管理系统[源码免费+文档免费]

基于SpringBoot的医院患者与病历管理系统[源码免费+文档免费]

2026/8/25 15:45:22

🍅全部选题源码免费分享、无偿获取,支持软件定制开发;由于篇幅限制,获取完整文章或源码、代做项目的,本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片。🍅 🍅全部选题源码…

个自动化互联网的 Python 库,最后一个太离谱

个自动化互联网的 Python 库,最后一个太离谱

2026/8/25 15:45:22

200 的接口, 并不等同于页面切实可用。爬虫运行完毕, 也并不意味着数据就是正确的。我所见识到的最为糟糕的一回, 乃是脚本每日凌晨抓取页面, 日志全然显示为绿色, 然而最终抓取竟持续三天都是登录页面。针对这种活儿, 千万别一开始就。要是能用HTTP搞定的, 就别去开启浏览器&a…

【非标自动化】3、AutoShop快速理解(系统变量表)

【非标自动化】3、AutoShop快速理解(系统变量表)

2026/8/25 16:35:25

这些“系统变量表”不只是给你看的,它们本质上是 AutoShop 已经预先定义好的一批特殊变量,用来让程序访问 PLC 自身的状态、通信状态、模块状态和系统参数。可以先把变量分成两类:普通变量:由用户自己定义 系统变量:由…

【非标自动化】3、AutoShop快速理解(软件界面)

【非标自动化】3、AutoShop快速理解(软件界面)

2026/8/25 16:35:25

这张界面可以先不要把它看成“很多复杂菜单”,而要把它理解成一套完整的PLC工程工作台:先配置PLC和硬件↓ 定义变量和设备地址↓ 编写控制程序↓ 编译检查↓ 连接PLC并下载↓ 在线监控和调试↓ 排查故障、保存项目界面上的不同区域,就是分别服…

黑马苍穹外卖笔记day10

黑马苍穹外卖笔记day10

2026/8/25 16:35:25

订单状态定时处理、来单提醒和客户催单Spring Task:Spring Task是Spring框架提供的任务调度工具,可以按照约定的时间自动执行某个代码逻辑。应用场景特别广泛,只要是需要定制处理的场景都可以使用Spring Taskcron表达式:cron表达式…

【非标自动化】3、AutoShop快速理解(软件介绍)

【非标自动化】3、AutoShop快速理解(软件介绍)

2026/8/25 16:35:25

AutoShop是汇川面向小型PLC(Programmable Logic Controller,可编程逻辑控制 器)产品的编程组态软件,具有友好的编程和调试环境,拥有丰富、强大的通信和控 制功能。支持梯形图(LD)、顺序功能图&a…

Kotlin 语言【知识点整理2】

Kotlin 语言【知识点整理2】

2026/8/25 16:35:24

目录 一、基本概念 1.包的定义与导入 2.程序入口点 2.1 输入 3.变量 二、基本类型 1.数字 1.1 整数类型 1.2 浮点类型 1.3 数字字面常量 1.4 装箱与缓存 1.4.1 JVM是怎么存储数字的? 1.4.2 使用可空类型的时候会触发装箱操作: 1.4.3 JVM 对…

es怎么做拆词的

es怎么做拆词的

2026/8/25 16:25:24

ES 做拆词(分词)的核心是分词器,它在索引文档和搜索时,负责把长文本切成一个个独立的词(term),这样才能建立倒排索引,实现高效的全文搜索。 这个过程主要有三种角色: 输入…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/24 19:53:32

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/24 19:56:07

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南

2026/8/25 0:04:34

三步把QQ空间历史说说导出到本地:GetQzonehistory 极简指南 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory Meta Description:GetQzonehistory 是一个QQ空间历史说…

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

洛谷 P7912:[CSP-J 2021 T4] 小熊的果篮 ← 双向链表

2026/8/25 0:04:35

【题目来源】 https://www.luogu.com.cn/problem/P7912 【题目描述】 小熊的水果店里摆放着一排 n 个水果。每个水果只可能是苹果或桔子,从左到右依次用正整数 1,2,…,n 编号。连续排在一起的同一种水果称为一个“块”。小熊要把这一排水果挑到若干个果篮里&#x…

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG

2026/8/25 0:04:35

Transformers.js 网页端图像抠图实战:零后端 3 行代码返回透明 PNG 【免费下载链接】transformers.js State-of-the-art Machine Learning for the web. Run 🤗 Transformers directly in your browser, with no need for a server! 项目地址: https:/…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…