深度学习基础3数据预处理

时间序列和深度学习(N的第3部分):完成LSTM训练和评估的数据准备 在本系列的第3部分中,我将完成在数据准备过程的第2部分中开始的描述,以进行LSTM模型在时间序列预测中的训练和评估。 使用的数据集与第1部分和第2部分相同。与本系列所有文章相同,我指的是Python 3。 在第2部分中,我们学习了如何将时间序列转换为监督模型。 这还不足以提供我们的LSTM模型:还需要其他两个转换。 首先要做的是转换时间序列数据以使其稳定。 这些帖子使用的输入时间序列显示... 阅读详情

数据预处理

通常使用pandas软件包。pandas`可以与张量兼容。

读取数据集

创建一个人工数据集,并存储在CSV(逗号分隔值)文件) ../data/house_tiny.csv中。 以其他格式存储的数据也可以通过类似的方式进行处理。 下面我们将数据集按行写入CSV文件中。

import os

os.makedirs(os.path.join('..', 'data'), exist_ok=True)
data_file = os.path.join('..', 'data', 'house_tiny.csv')
with open(data_file, 'w') as f:
    f.write('NumRooms,Alley,Price\n')  # 列名
    f.write('NA,Pave,127500\n')  # 每行表示一个数据样本
    f.write('2,NA,106000\n')
    f.write('4,NA,178100\n')
    f.write('NA,NA,140000\n')

要从创建的CSV文件中加载原始数据集,我们导入pandas包并调用read_csv函数。

该数据集有四行三列。其中每行描述了房间数量(“NumRooms”)、巷子类型(“Alley”)和房屋价格(“Price”)。

# 如果没有安装pandas,只需取消对以下行的注释来安装pandas
# !pip install pandas
import pandas as pd

data = pd.read_csv(data_file)
print(data)

NumRooms Alley Price

0 NaN Pave 127500

1 2.0 NaN 106000

2 4.0 NaN 178100

3 NaN NaN 140000

处理缺失值

“NaN”代表缺失值

为了处理缺失的数据,典型的方法包括插值法和删除法,

  • 插值法用一个替代值弥补缺失值,

  • 删除法则直接忽略缺失值。

    在这里,采用插值法

通过位置索引iloc : (index location)

将data分成inputs和outputs, 其中前者为data的前两列,而后者为data的最后一列。 对于inputs中缺少的数值,我们用同一列的均值替换“NaN”项

点击查看关于iloc与loc的细节

inputs, outputs = data.iloc[:, 0:2], data.iloc[:, 2]# : 表示所有的行,0:2表示第0行到第一列
inputs = inputs.fillna(inputs.mean())#mean函数表示求均值
print(inputs)

NumRooms Alley

0 3.0 Pave

1 2.0 NaN

2 4.0 NaN

3 3.0 NaN

对于inputs中的类别值或离散值,我们将“NaN”视为一个类别。

由于“巷子类型”(“Alley”)列只接受两种类型的类别值“Pave”和“NaN”, pandas可以自动将此列转换为两列“Alley_Pave”和“Alley_nan”。 巷子类型为“Pave”的行会将“Alley_Pave”的值设置为1,“Alley_nan”的值设置为0。 缺少巷子类型的行会将“Alley_Pave”和“Alley_nan”分别设置为0和1。

inputs = pd.get_dummies(inputs, dummy_na=True)
print(inputs)

NumRooms Alley_Pave Alley_nan

0 3.0 1 0

1 2.0 0 1

2 4.0 0 1

3 3.0 0 1

转换为张量格式

现在inputs和outputs中的所有条目都是数值类型,它们可以转换为张量格式。]

当数据采用张量格式后,可引入一些张量函数来进一步操作。

import torch

X, y = torch.tensor(inputs.values), torch.tensor(outputs.values)
#这里回顾一下函数里参数的含义torch.tensor(data, dtype=None, device=None, requires_grad=False)
X, y

(tensor([[3., 1., 0.],

​ [2., 0., 1.],

​ [4., 0., 1.],

​ [3., 0., 1.]], dtype=torch.float64), #这里是传统的64位浮点数,对于深度学习计算比较慢,一般用32位浮点数

tensor([127500, 106000, 178100, 140000]))

深度学习中数据预处理 深度学习中,数据预处理的核心目的不是“让数据更干净”,而是让原始数据与神经网络的数学假设、计算约束、优化动态三者之间达成可学习的对齐。它既服务于模型,也改造着数据。以下从目的、步骤、结果三个维度展开深度剖析。一、目的:对齐神经网络的三大需求1. 数值稳定性神经网络对输入的分布高度敏感。未处理的尺度差异、长尾分布或异常值会导致梯度爆炸/消失、权重矩阵病态(ill-conditioned),使训练无法收敛或陷入尖锐极小值。2. 容量适配。 阅读详情

相关推荐

动手深度学习笔记(二)2.2 数据预处理

动手深度学习笔记(二)2.2 数据预处理2. 预备知识2.2. 数据预处理2.2.1. 读取数据集2.2.2. 处理缺失值2.2.3. 转换为张量格式2.2.4. 小结2.5. 练习 2. 预备知识 2.2. 数据预处理 为了能用深度学习来解决现实世界的问题,我们经常从预处理原始数据开始, 而不是从那些准备好的张量格式数据开始。 在Python中常用的数据分析工具中,我们通常使用pandas软件包。 像庞大的Python生态系统中的许多其他扩展包一样,pandas可以与张量兼容。 本节我们将简要介绍使用pa

juluwangriyue的博客 2249

深度学习中的不同类型的数据预处理方法

1.背景介绍 1. 背景介绍 深度学习是一种人工智能技术,它旨在模拟人类大脑的学习和推理能力。深度学习通常需要大量的数据进行训练,以便于模型能够学习到有用的特征和模式。然而,这些数据通常是不完美的,可能包含噪声、缺失值、不均衡分布等问题。因此,数据预处理是深度学习中的一个重要环节,它可以帮助提高模型的性能和准确性。 在深度学习中,数据预处理可以分为多种类型,例如:标准化、归一化、数据增强、缺...

AI天才研究院 1729

Java Deeplearning4j:数据加载与预处理(一)

(DL4J)是一个用于构建和训练深度学习模型的开源库,专为Java和JVM生态系统设计。它支持多种神经网络架构,包括多层感知器(MLP)、卷积神经网络(CNN)、循环神经网络(RNN)等。DL4J的目标是为企业级应用提供一个高效、可扩展的深度学习解决方案。DataVec是DL4J中的一个数据加载和预处理库。它提供了丰富的工具和API,用于从各种数据源(如CSV文件、图像、文本等)加载数据,并进行必要的预处理操作,如标准化、归一化、数据增强等。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 3013

深度学习数据预处理

在深度学习中,数据预处理(preprocessing)的体现在以下几个方面:1、数据质量: 原始数据通常包含错误、缺失值、异常值和噪声。预处理能够检测和处理这些问题,确保数据的质量,从而避免模型因低质量数据而产生错误的学习。2、特征缩放和归一化: 深度学习模型对输入数据的尺度敏感,不同尺度的特征可能导致模型收敛困难。通过特征缩放和归一化,可以将特征值调整到相近的范围,帮助模型更快地收敛并提高泛化能力。

替这位空想家惊讶 2393

Java 人工智能应用:使用 DL4J 实现深度学习算法

本文介绍了如何使用Java深度学习库DL4J实现深度学习算法。DL4J是为Java开发者设计的开源分布式深度学习库,可与Hadoop和Spark集成处理大规模数据。文章详细讲解了DL4J开发环境的搭建步骤,包括Maven依赖配置和Java环境准备。重点演示了如何使用DL4J构建多层感知机(MLP)模型,涵盖数据准备、模型构建、训练和评估的完整流程。通过示例代码展示了如何实现数据预处理、神经网络配置、模型训练和性能评估,为Java开发者提供了深度学习应用的实践指南。文中采用的MLP模型适用于二分类问题,可作为

shrgegrb的博客 2441

Python3深度学习入门与实战项目

Python是一种高级编程语言,以其简洁明了、易学易用著称。它支持多种编程范式,包括面向对象、命令式、函数式和过程式编程。要在你的系统上安装Python,请访问Python官方网站下载适合你操作系统的安装包。安装时请确保将Python添加到环境变量中,这样你可以在任何目录下通过命令行运行Python。Keras提供了模型的高级接口,如和Model类,它们可以用来构建更复杂的模型结构。例如,多输入多输出模型或具有共享层的模型。下面是一个使用构建简单模型的例子:# 定义输入层。

weixin_42511373的博客 1015

动手学深度学习——数据预处理

1、创建一个人工数据集,并存储在csv(逗号分隔值)文件 """ 创建一个人工数据集,并存储在csv(逗号分隔值)文件 """ import os os.makedirs(os.path.join('..','data'),exist_ok=True) data_file=os.path.join('..','data','house_tiny.csv') #文件名 with open(data_file,'w') as f : f.write('NumRooms,Alley,Price\n')

橙子的博客 1518

Deeplearning4j深度学习示例教程:DL4J, DL4J Spark, DataVec实战

神经网络是深度学习的基础,由大量的节点(或称为“神经元”)相互连接而成。每个神经元可以将输入转换为输出,并在此过程中应用一个非线性激活函数。通过多层的网络结构,复杂的非线性变换得以实现,使得神经网络能够学习数据中的层次结构。Deeplearning4j(DL4J)是针对Java虚拟机(JVM)的开源深度学习库,专为商业环境和生产需求设计。DL4J的特点之一是它的性能优化,在分布式计算、多线程和Hadoop或Spark集成方面表现出色。

weixin_29867767的博客 3466

深度学习——数据预处理

数据预处理是为了改善数据挖掘分析工作,减少时间,降低成本和提高质量。很有必要,就像做菜不洗菜,这样的人做出来的菜质量也不会好在哪里,没人愿意吃。

EWQOR的博客 2368

深度学习基础作业实践指南:DL_1Assignment

本文还有配套的精品资源,点击获取 简介:深度学习作业DL_1Assignment旨在让学生通过Jupyter Notebook掌握基础知识与实践技能。该作业将涉及神经网络基础、梯度下降与反向传播、损失函数选择、CNN和RNN的构建、使用深度学习框架、数据预处理、模型评估、超参数调优和模型保存加载等关键知识点。通过完成此作业,学生将加强理论知识与实践能力,为后续深度学习项目打...

weixin_33531560的博客 900

提升RAG效果:为何 JSON 格式远胜 Markdown?

在构建强大的 RAG (检索增强生成) 系统时,文档解析是至关重要的第一步。它直接影响着后续的检索效率和生成质量。在众多文档格式中,JSON (JavaScript Object Notation) 格式正逐渐展现出其相对于传统 Markdown 格式的巨大优势。本文将深入探讨 JSON 在 RAG 系统文档解析中的卓越之处,并结合具体案例,让你理解为何 JSON 才是构建下一代智能应用的更优选择。RAG 系统的核心目标是让模型能够利用外部知识库,生成更精准、更贴合实际的答案。

simoncool23的博客 2718

4.2 目标检测YOLO-V3算法--数据预处理&数据增广(百度架构师手把手带你零基础实践深度学习原版笔记系列)

4.2 目标检测YOLO-V3算法--数据预处理&数据增广(百度架构师手把手带你零基础实践深度学习原版笔记系列) 目录 4.2 目标检测YOLO-V3算法--数据预处理&数据增广(百度架构师手把手带你零基础实践深度学习原版笔记系列) 数据预处理(数据增广目的) 随机改变亮暗、对比度和颜色等 随机填充 随机裁剪 随机缩放 随机翻转 随机打乱真实框排列顺序 图像增广方法汇总 批量数据读取与加速 数据预处理(数据增广目的) 在计算机视觉中,通常会对图像做一些随机的变.

aiAI 1911

XY2-100协议解析

1.XY2-100包括四路信号 : SENDCK(时钟信号)、SYNC(同步信号)、CHANNELX(X通道)、CHANNELY(Y通道)

qq_38360574的博客 9534

Python深度学习3小时速通:从零基础到神经网络实战

深度学习作为人工智能的核心技术,通过神经网络模拟人脑学习机制实现模式识别和预测分析。其技术原理基于大量数据训练模型参数,利用反向传播算法优化权重。在工程实践中,Python凭借简洁语法和丰富生态成为深度学习首选语言,特别是TensorFlow、PyTorch等框架大大降低了开发门槛。Keras作为高级API进一步简化了神经网络构建,使初学者能够快速上手图像识别、自然语言处理等应用场景。本文针对零基础学习者设计3小时速通方案,通过Python基础语法、NumPy数值计算到Keras实战的完整路径,帮助读者快速

weixin_34062469的博客 399

CANoe从入门到精通“保姆级”教程(二)- 堪称全网“最全”系列

CANoe各功能区介绍;

车载控制器AutoSAR软件开发工程师 2万+

企业和个人 AI 编程工具怎么选?2025 年 12 款主流工具(Claude/Cursor 等)核心能力 + 收费对比

2025 年最火的 12 款 AI 编程工具,像 Claude、Cursor 这些热门款,我把它们的核心能力、收费标准全扒得明明白白,看完这篇你不用再瞎琢磨,直接就能挑到对的!再说说 Cursor,美国 Cursor Labs 做的,还拿过红杉资本投资,2022 年推出后,2024 年收入直接涨了 6400%,势头很猛。总之,不管你是企业技术管理者、程序员,还是刚入门的 AI 小白,按自己的需求(语言、合规、预算)挑,保准能找到最适合的 AI 编程工具!最后给大家划重点,不同需求直接对号入座:?

hundred98的博客 2801

重构 800 行函数翻了 3 次车,补完深度学习基础我终于学会了模块化

一个800行的深度学习推理函数,重构翻了3次车:归一化溢错、回归测试全红、CodeWhisperer瞎猜。直到补完深度学习基础课程,我搞懂了模型数据依赖,才成功把函数拆成12个可维护模块。本文含重构前后代码对比和7条可执行学习建议,适合被遗留代码折磨的AI工程师。

weixin_47315004的博客 168

国科大 雁栖湖校区 研一上 课程避坑与生存指南

本文为国科大雁栖湖校区研一新生提供全面的课程避坑与生存指南,涵盖选课策略、核心课程学习技巧、校园生活攻略及心态管理。重点解析算法设计与分析、人工智能原理等硬核课程的学习方法,并分享食堂、住宿、自习室等实用生存技巧,帮助新生高效适应研究生生活。

weixin_29304985的博客 302

【深度学习】Java DL4J 2024年度技术总结

在当今数字化浪潮中,深度学习作为人工智能领域的核心驱动力,正以前所未有的速度改变着我们的生活和工作方式。从图像识别到自然语言处理,从医疗诊断到金融预测,深度学习的应用场景无处不在,展现出巨大的潜力和价值。Java作为一门广泛应用于企业级开发的编程语言,以其稳定性、可移植性和丰富的类库资源,在软件开发领域占据着重要地位。然而,传统的Java开发在面对深度学习复杂的模型构建和大规模数据处理时,往往显得力不从心。的出现,为Java开发者打开了一扇通往深度学习世界的大门。DL4J是一个专为Java和Scala。

在技术的广袤天地里,本博客如精准罗盘。剖析前沿科技,深掘代码奥秘,以精炼笔触,带您穿越复杂技术迷宫,速达知识彼岸。 1万+

【Python】SUMO + Python 联合仿真平台

强化学习的核心思想是让智能体 (Agent) 通过与环境 (Environment) 的交互来学习如何做出最优决策,以最大化累积奖励 (Cumulative Reward)。在交通场景中,智能体可以是交通信号控制器、自动驾驶车辆或交通管理中心,环境则是 SUMO 模拟的交通路网,奖励则与交通效率、安全、环保等目标相关。交通系统本质上是动态的、随机的、高度复杂的系统,传统的基于规则或模型的优化方法在面对不断变化的需求和突发事件时,往往显得力不从心。强化学习的优势在于:在交通领域,强化学习已经被广泛应用于:为了

宅男很神经 1989

Unity 面试篇|(六)数据结构和算法篇 【全面总结 | 持续更新】

先拿10000个数建堆,然后一次添加剩余元素,如果大于堆顶的数(10000中最小的),将这个数替换堆顶,并调整结构使之仍然是一个最小堆,这样遍历完后,堆中的10000个数就是所需的最大的10000个。桶排序是计数排序的升级版。它的工作原理:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。这样处理就可以分别在每个文件的10^6个数据中找出最大的10000个数,合并到一起在再找出1000*10000中的最终的结果。

游戏开发小Y的博客 12万+

深度学习——数据预处理篇

深度学习——数据预处理篇 文章目录深度学习——数据预处理篇**一、前言****二、常用的数据预处理方法**零均值化(中心化)数据归一化(normalization)主成分分析(PCA、Principal Component Analysis)白化(whitening)**三、注意事项****四、References** 一、前言 深度学习和机器学习一个重要的区别就是在于数据量的大小。就目前的大量实...

Jmuyjl 1万+

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

开源亮点:DL-Text 深度学习文本预处理库

开源亮点:DL-Text 深度学习文本预处理库 在这个信息爆炸的时代,深度学习在自然语言处理(NLP)领域中的应用愈发重要,而数据的预处理作为整个流程的第一步,其质量和效率直接影响着最终模型的表现和结果。今天要向大家介绍的是一个强大的开源项目——DL-Text。 一、项目简介 DL-Text是一个专注于深度学习场景下文本预处理的Python库,它不仅提供了全面的数据清洗和特征提取功能,还包含了训练...

gitblog_00020的博客 1126

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【DL】第13章 使用 TensorFlow加载和预处理数据

所以到目前为止,我们只使用了适合内存的数据集,但深度学习系统通常在不适合 RAM 的非常大的数据集上进行训练。使用其他深度学习库实现大型数据集并对其进行有效预处理可能会很棘手,但 TensorFlow 借助Data API让这一切变得简单:您只需创建一个数据集对象,并告诉它从哪里获取数据以及如何转换它. TensorFlow 负责所有实现细节,例如多线程、队列、批处理和预取。此外,Data API 与 tf.keras 无缝协作!

sikh_0529的博客 1万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

从零开始上手深度学习【1】数据操作与数据预处理

虽然现在市面上有很多关于深度学习原理和代码讲解的视频或者教材,但是大多是着重讲深度学习的原理,代码部分设计很少,还有一部分则讲的是比较高深的代码,对于从零开始的DL小白来说较难上手。对比过现有的众多教程,我找到了DataWhale在2024年三月的组队学习系列“动手学深度学习”(活动已经结束),决定使用其开源的学习资料(包括教材和配套视频),将自己的学习过程整理为笔记,以便和我一样不爱看视频的同学进行学习,也便于在一些没有播放视频的条件的场合下进行DL的系统学习。

2301_79633602的博客 1274
上一篇: 深度学习基础2(运算、广播、索引、切片、内存节省、转换其他Python对象)
下一篇: 深度学习基础4(标量,向量,张量,矩阵)
NDNPOMDFLR
博客等级 码龄7年 40粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

NDNPOMDFLR

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值