数据预处理作业---去除缺失值最多的列
data = data.drop(pd.isna(data).sum(axis=0).idxmax(), axis=1)
具体为
def drop_col(m):
num = m.isna().sum() #获得缺失值统计信息
num_dict = num.to_dict() #转为字典
max_key =max(num_dict,key=num_dict.get) #取字典中最大值的键
del m[max_key] #删除缺失值最多的列
return m
drop_col(data)
线性代数
len()
函数---[访问张量的长度]
if A.shape=torch.Size([2, 3, 4]) => len(A)=2
降维求和,平均
按行列求和---A.sum(axis=0),B.sum(axis=1)
A.mean(axis=0),B.mean(axis=1)
A.sum(axis=[0,1,2])=A.sum()#在轴0,1,2上求和
非降维求和
A.sum(axis=1,keepdims=True) #可以保持轴数,方便之后通过广播处理A
点积
torch.sum(x*y)#x,y为向量
矩阵向量积
矩阵A和向量x调用torch.mv(A, x)时,会执行矩阵‐向量积。注意,A的列维数(沿轴1的长度)必须与x的维数(其长度)相同
矩阵乘法
torch.mm(A, B)
范数
一般范数
L2范数---torch.norm(u)#根下平方值和
L1范数---orch.abs(u).sum()#绝对值和
F范数
torch.norm(torch.ones((4, 9)))
在深度学习中,我们经常试图解决优化问题:最大化分配给观测数据的概率; 最小化预测和真实观测之间的 距离。用向量表示物品(如单词、产品或新闻文章),以便最小化相似项目之间的距离,最大化不同项目之间 的距离。目标,或许是深度学习算法最重要的组成部分(除了数据),通常被表达为范数。