数据预处理

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的更多相关文章

  1. 对比《动手学深度学习》 PDF代码+《神经网络与深度学习 》PDF

    随着AlphaGo与李世石大战的落幕,人工智能成为话题焦点.AlphaGo背后的工作原理"深度学习"也跳入大众的视野.什么是深度学习,什么是神经网络,为何一段程序在精密的围棋大赛中 ...

  2. 小白学习之pytorch框架(2)-动手学深度学习(begin-random.shuffle()、torch.index_select()、nn.Module、nn.Sequential())

    在这向大家推荐一本书-花书-动手学深度学习pytorch版,原书用的深度学习框架是MXNet,这个框架经过Gluon重新再封装,使用风格非常接近pytorch,但是由于pytorch越来越火,个人又比 ...

  3. 【动手学深度学习】Jupyter notebook中 import mxnet出错

    问题描述 打开d2l-zh目录,使用jupyter notebook打开文件运行,import mxnet 出现无法导入mxnet模块的问题, 但是命令行运行是可以导入mxnet模块的. 原因: 激活 ...

  4. 动手学深度学习9-多层感知机pytorch

    多层感知机 隐藏层 激活函数 小结 多层感知机 之前已经介绍过了线性回归和softmax回归在内的单层神经网络,然后深度学习主要学习多层模型,后续将以多层感知机(multilayer percetro ...

  5. 动手学深度学习1- pytorch初学

    pytorch 初学 Tensors 创建空的tensor 创建随机的一个随机数矩阵 创建0元素的矩阵 直接从已经数据创建tensor 创建新的矩阵 计算操作 加法操作 转化形状 tensor 与nu ...

  6. 《动手学深度学习》系列笔记—— 1.2 Softmax回归与分类模型

    目录 softmax的基本概念 交叉熵损失函数 模型训练和预测 获取Fashion-MNIST训练集和读取数据 get dataset softmax从零开始的实现 获取训练集数据和测试集数据 模型参 ...

  7. 动手学深度学习14- pytorch Dropout 实现与原理

    方法 从零开始实现 定义模型参数 网络 评估函数 优化方法 定义损失函数 数据提取与训练评估 pytorch简洁实现 小结 针对深度学习中的过拟合问题,通常使用丢弃法(dropout),丢弃法有很多的 ...

  8. 动手学深度学习6-认识Fashion_MNIST图像数据集

    获取数据集 读取小批量样本 小结 本节将使用torchvision包,它是服务于pytorch深度学习框架的,主要用来构建计算机视觉模型. torchvision主要由以下几个部分构成: torchv ...

  9. 【零基础学深度学习】动手学深度学习2.0--tensorboard可视化工具简单使用

    1 引言 老师让我将线性回归训练得出的loss值进行可视化,于是我使用了tensorboard将其应用到Pytorch中,用于Pytorch的可视化. 2 环境安装 本教程代码环境依赖: python ...

  10. mxnet 动手学深度学习

    http://zh.gluon.ai/chapter_crashcourse/introduction.html 强化学习(Reinforcement Learning) 如果你真的有兴趣用机器学习开 ...

随机推荐

  1. redis 使用lua 生成流水号

    在实际的业务场景中,我们会用到流水号. 之前的流水号做法是,使用redis的全局锁.然后对数据库进行更新,数据库更新 这个也会有一些问题,比如对于同一个流水号,多个线程去更新,由于事务比较长,那么就会 ...

  2. ant 组件全局设置中文 vue

    //引入中文组件import zhCN from 'ant-design-vue/es/locale/zh_CN';//定义 const  locale = zhCN   //包裹根组件 <a- ...

  3. 阿里巴巴LangEngine开源了!支撑亿级网关规模的高可用Java原生AI应用开发框架

    LangEngine作为阿里集团内部发起的纯Java版本的AI应用开发框架,经过充分实践,已经广泛应用于包括淘宝.天猫.阿里云.爱橙科技.菜鸟.蚂蚁.飞猪.1688.LAZADA等在内的多个业务场景. ...

  4. 云主机安装Redis,基于CodeArts模拟电商平台秒杀抢购

    本文分享自华为云社区<云主机安装Redis并模拟电商平台秒杀抢购场景>,作者:开发者空间小蜜蜂. 1.1 案例介绍 Redis 是一个高性能的key-value数据库.Redis支持各种不 ...

  5. DotNet Core Threadpool

    DotNet Core Threadpool Jai Rathore https://medium.com/@jaiadityarathore/dotnet-core-threadpool-bef2f ...

  6. ng-alain: delon/abc/sc 简化容器

    简化表单HTML模板的高阶组件,并进一步优化了一些细节: 更友好的表单校验状态 自动化响应式布局 自动维护表单 id 它由 se-container 容器(指令)和 se 组件来表示一个表单,一个简单 ...

  7. MySql中MySqlParameter的用法

    在C#中,向表person插入一条数据(表person包括两列:id和name),使用MySqlParameter定义表中各列的值. static void Main(string[] args) { ...

  8. WorldWind源码剖析系列:WorldWind瓦片调度策略说明

    1 基于源码的分析 首先我们来看WorldWind中摄像头变化相关的几个方法的内部逻辑. 1.1 NltTerrainAccessor. GetElevationAt 方法声明:public over ...

  9. ESP8266 wifi模块+CH340烧录板安装使用运行教程

    硬件准备 ESP8266-01S 模块 USB转TTL烧录板(CH340) LED灯(建议使用3.3V LED) 220Ω电阻(LED限流) 面包板和跳线若干 我的是这样的不用接线,其他的参考 ESP ...

  10. Solution -「JZOJ #5457」项链

    \(\mathscr{Description}\)   Private link.   给定一条有 \(n\) 个点的圆环和 \(m\) 中颜色, 求在位置旋转, 位置翻转, 颜色旋转等价的意义下, ...