文章目录
Dive into deep learning(01)[动手学深度学习]———————第一章,预备知识
前言:因为自己之前pytorch有大概的走一遍过,这次重新走一遍,记录的都是自己时常记不住的又或者是时常用到的,再者是很重要的,一切以自己记录为主,别人看不看的懂是次要的。当然有问题可以一起探讨。
本章摘要: pytorch的学习与使用需要一些预备知识,具体包括:高等数学中的求导和积分,线性代数中的矩阵计算相关知识,统计计算中的概率问题,python中numpy和pandas的基本使用。
1、数据操作(Data Manipulation)
主要是数据类型介绍,在数学中,数据分为:标量(0维),向量(1维),矩阵(2维),在pytorch中,这些都叫张量(Tensor),张量代表n维数据。
在这里需要了解简单的numpy切片,索引的知识,用以对数据操作,同时numpy的广播机制,以及python中的内存占用方式也可以简单了解一下。
作业: 第2题作业,当涉及三维数据加减时,numpy广播机制要求两组数据中的第1维度相同,第二三维度中最少也要有一个相同。例如(2,2,1)和(2,1,3)加法过后形状会变为(2,2,3)。
2、数据预处理(Data Preprocessing)
主要是利用pandas中缺失值的处理,分别是填充法和删除法,示例代码中为填充法,使用均值填充,作业为删除法,要求删除最多的一列。
作业: 感觉自己的代码还是太长,但不知道有没有什么pandas自带的函数可以更简便一些
函数记录:
df.dropna(how='any')
#删除缺失值列
df.fillna(df.mean())
#用均值填充缺失值,没有参数情况下,默认按列均值填充
df.columns.values
#获取列名