动手学深度学习-python基础知识介绍(数据处理基础流程)part2
数据预处理
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')
#os.path.join('..', 'data'):生成一个路径字符串,表示当前目录的父目录下的data文件夹。
#os.makedirs(..., exist_ok=True):创建这个目录。如果目录已经存在,exist_ok=True参数会防止抛出错误。
# os.path.join('..', 'data', 'house_tiny.csv'):生成一个路径字符串,表示data文件夹下的house_tiny.csv文件。
# with open(data_file, 'w') as f:以写入模式打开文件。如果文件已存在,会被覆盖。
# f.write(...):向文件写入字符串。每行字符串表示一个数据样本,包括列名和数据。
从创建的csv文件中加载原始数据集
import pandas as pd
data=pd.read_csv(data_file)
print(data)
处理缺失数据,可以插值以及删除
# 插值
#对于每列中的缺失值,使用该列的平均值进行填充
inputs,outputs=data.iloc[:,0:2],data.iloc[:,2]
inputs=inputs.fillna(inputs.mean())
print(inputs)
#fillna方法填充inputs中的缺失值(NA)
#inputs.mean():计算inputs中每列的平均值
对于inputs中的类别值(离散值),我们将“NAN”视为一个类别
inputs=pd.get_dummies(inputs,dummy_na=True)
print(inputs)
# pd.get_dummies(inputs):这个函数将inputs DataFrame中的分类变量转换为虚拟变量。对于每个分类变量的每个类别,
# 都会创建一个新的列,值为0或1,表示该类别是否存在于原始数据中。例如,如果Alley列有值Pave和NA,
# 则会生成两个新的列:Alley_Pave和Alley_NA。
# dummy_na=True:
# 这个参数指示pd.get_dummies在处理缺失值(NA)时,也要将其视为一个单独的类别,并为其创建一个虚拟变量列。
# 例如,如果Alley列中有缺失值,dummy_na=True会创建一个额外的列(如Alley_NA),
# 并将缺失值所在行的该列值设为1,其他行设为0。
现在inputs和outputs中所有的条目都是数值类型,可以转换为张量格式
import torch
x,y=torch.tensor(inputs.values),torch.tensor(outputs.values)
x,y
动手学深度学习-python基础知识介绍(数据处理基础流程)part2的更多相关文章
- 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF
随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...
- 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())
在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...
- 【动手学深度学习】Jupyter notebook中 import mxnet出错
问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...
- 动手学深度学习9-多层感知机pytorch
多层感知机 隐藏层 激活函数 小结 多层感知机 之前已经介绍过了线性回归和softmax回归在内的单层神经网络,然后深度学习主要学习多层模型,后续将以多层感知机(multilayer percetro ...
- 动手学深度学习1- pytorch初学
pytorch 初学 Tensors 创建空的tensor 创建随机的一个随机数矩阵 创建0元素的矩阵 直接从已经数据创建tensor 创建新的矩阵 计算操作 加法操作 转化形状 tensor 与nu ...
- 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型
目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...
- 动手学深度学习14- pytorch Dropout 实现与原理
方法 从零开始实现 定义模型参数 网络 评估函数 优化方法 定义损失函数 数据提取与训练评估 pytorch简洁实现 小结 针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的 ...
- 动手学深度学习6-认识Fashion_MNIST图像数据集
获取数据集 读取小批量样本 小结 本节将使用torchvision包,它是服务于pytorch深度学习框架的,主要用来构建计算机视觉模型. torchvision主要由以下几个部分构成: torchv ...
- 【零基础学深度学习】动手学深度学习2.0--tensorboard可视化工具简单使用
1 引言 老师让我将线性回归训练得出的loss值进行可视化,于是我使用了tensorboard将其应用到Pytorch中,用于Pytorch的可视化. 2 环境安装 本教程代码环境依赖: python ...
- mxnet 动手学深度学习
http://zh.gluon.ai/chapter_crashcourse/introduction.html 强化学习(Reinforcement Learning) 如果你真的有兴趣用机器学习开 ...
随机推荐
- uniapp不介入第三方,Android调用各种权限
代码: onLaunch: function() { console.log('onLaunch') //监听底部中间菜单的事件 uni.onTabBarMidButtonTap(()=>{ p ...
- Fiddler对手机APP进行抓包
1.下载安装Fiddler 2.打开Fiddler菜单项Tools-> Options->HTTPS 勾选CaptureHTTPS CONNECTs,点击Actions, 勾选Decryp ...
- 【Amadeus原创】华为一键强制关闭后台应用的终极解决方法
华为手机速度是快,用起来很顺手,但是最让人头疼的,就是紧急情况开会,我音乐关不了. 上划把全部应用删掉,也没用. 经过一阵子摸索,发现终极办法: 1, 打开华为自带的 手机助手- 应用启动管理 2, ...
- Flutter之GetX之GetBuilder
Flutter之GetX之GetBuilder GetX是Flutter的一个非常强力的三方库,包含了非常多的功能,比如状态管理.路由管理.国际化.路由中间件.主题.数据库等等 今天简单介绍一下状态管 ...
- 使用 ayncio 实现 CountDownLatch
class CountDownLatch(object): def __init__(self, count=1): self.count = count self.lock = asyncio.Lo ...
- 【人工智能】【Python】Anacond基础操作
# 001.在 Anaconda 中使用 Conda 管理 Python 环境 工具:Anaconda Prompt(Anaconda)| 请使用管理员权限运行 更新Anaconda conda up ...
- 【深度学习】Tensorflow学习(1)张量与常用函数
关于张量 张量可以表示0阶到N阶的数组 在TensorFlow中,张量(Tensor)表示某种相同数据类型的多维数据 因此张量有两个重要特征: 数据类型 数组形状(各个维度的大小) 张量的数据类型 t ...
- RestTemplate HttpClient详解及如何设置忽略SSL
@Configuration public class ScheduleRestConfigurer { @Bean public RestTemplate restTemplate() { Rest ...
- Qt/C++音视频开发53-本地摄像头推流/桌面推流/文件推流/监控推流等
一.前言 编写这个推流程序,最开始设计的时候是用视频文件推流,后面陆续增加了监控摄像头推流(其实就是rtsp视频流).网络电台和视频推流(一般是rtmp或者http开头m3u8结尾的视频流).本地摄像 ...
- TensorRT-YOLO:灵活易用的 YOLO 部署工具
TensorRT YOLO TensorRT-YOLO 是一款专为 NVIDIA 设备设计的易用灵活.极致高效的YOLO系列推理部署工具.项目不仅集成了 TensorRT 插件以增强后处理效果,还使用 ...