ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

总结2(9.13-9.19)

2021-09-19 20:58:19  阅读:231  来源: 互联网

标签:总结 False tensor 9.19 True torch 9.13 0.0000 data


开学第二周,本周除了对常规课程的学习,我主要完成了李沐深度学习0-5课的学习,并完成了相关的编程作业题。以下是我的总结和作业题代码。

一、数据操作作业题

       张量:表示由一个数值组成的数组,这个数组可能有多个维度可以用坐标系表示,tensor。

       广播机制:当张量的形状不同时,仍然可以仍然可以通过调用广播机制来执行按元素操作。

import torch
a = torch.arange(3).reshape((3, 1))
b = torch.arange(2).reshape((1, 2))
a, b,a+b
(tensor([[0],
         [1],
         [2]]),
 tensor([[0, 1]]),
 tensor([[0, 1],
         [1, 2],
         [2, 3]]))

      由于ab分别是3×1和1×2矩阵,如果我们让它们相加,它们的形状不匹配。我们将两个矩阵广播为一个更大的3×2矩阵,然后再按元素相加。

1.1 运行本节中的代码。将本节中的条件语句 X == Y 更改为 X < Y 或 X > Y,然后看看你可以得到什么样的张量。

X = torch.arange(12, dtype=torch.float32).reshape((3,4))
Y = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
X,Y,X<Y,X>Y

运行结果: 

(tensor([[ 0.,  1.,  2.,  3.],
         [ 4.,  5.,  6.,  7.],
         [ 8.,  9., 10., 11.]]),
 tensor([[2., 1., 4., 3.],
         [1., 2., 3., 4.],
         [4., 3., 2., 1.]]),
 tensor([[ True, False,  True, False],
         [False, False, False, False],
         [False, False, False, False]]),
 tensor([[False, False, False, False],
         [ True,  True,  True,  True],
         [ True,  True,  True,  True]]))

 1.2 用其他形状(例如三维张量)替换广播机制中按元素操作的两个张量。结果是否与预期相同?

a = torch.arange(3).reshape((1,1,3))
b = torch.arange(2).reshape((2,1,1))
a, b,a+b

 运行结果:

(tensor([[[0, 1, 2]]]),
 tensor([[[0]],
 
         [[1]]]),
 tensor([[[0, 1, 2]],
 
         [[1, 2, 3]]]))

注意:广播时,从尾部维度开始,满足尺寸大小相等或其中一个为1或其中一个不存在。

二、 数据预处理作业题

os.path.join()函数用于路径拼接文件路径

  • . 表示当前目录
  • .. 表示当前目录的上一级目录。
  • ./表示当前目录下的某个文件或文件夹,视后面跟着的名字而定
  • ../表示当前目录上一级目录的文件或文件夹,视后面跟着的名字而定。

创建包含更多行和列的原始数据集。

2.1 删除缺失值最多的列。

##创建数据
import os 
import pandas as pd
os.makedirs(os.path.join('.','test'),exist_ok=True)
test_file=os.path.join('.','test','testdata.csv')
with open(test_file,'w') as t:
    t.write("Height,Weight,Sex,Year\n")
    t.write("190,78,male,20\n")
    t.write("185,70,male,25\n")
    t.write("NA,NA,female,33\n")
    t.write("178,NA,NA,35\n")
data=pd.read_csv(test_file)
print(data)

运行结果: 

   Height  Weight     Sex  Year
0   190.0    78.0    male    20
1   185.0    70.0    male    25
2     NaN     NaN  female    33
3   178.0     NaN     NaN    35
#参考https://blog.csdn.net/qq_42890800/article/details/115287227
c_list = data.count() ##计算每列数据有效值
min_loc, mini, i = 0, 10, 0  ##分别表示有效值数量最少的列,最小的有效值数量,i是第几列
for c in c_list:      ##找出数据有效值最少的一列
    if c < mini:
        min_loc = i
        mini = c
    i += 1
del data[c_list.index[min_loc]]##删除这一列数据
data

运行结果:

    Height	Sex	Year
0	190.0	male	20
1	185.0	male	25
2	NaN	    female	33
3	178.0	NaN	    35

2.2将预处理后的数据集转换为张量格式。

data = data.fillna(data.mean()) #缺失数据用均值代替
data = pd.get_dummies(data, dummy_na=True)##将“NaN”视为一个类别0/1
data

运行结果:

     Height   Year Sex_female	Sex_male	Sex_nan
0	190.000000	20	 0	           1	     0
1	185.000000	25	 0	           1	     0
2	184.333333	33	 1	           0	     0
3	178.000000	35	 0	           0	     1
data = torch.tensor(data.values)##转化为tensor
data

运行结果:

tensor([[190.0000,  20.0000,   0.0000,   1.0000,   0.0000],
        [185.0000,  25.0000,   0.0000,   1.0000,   0.0000],
        [184.3333,  33.0000,   1.0000,   0.0000,   0.0000],
        [178.0000,  35.0000,   0.0000,   0.0000,   1.0000]],
       dtype=torch.float64)

标签:总结,False,tensor,9.19,True,torch,9.13,0.0000,data
来源: https://blog.csdn.net/xyjaixuexi/article/details/120384179

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有