李沐pytorch课程学习2022.12.25问题总结

1、

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')          # 创建的人工数据集有四行三列

这段代码建立csv文件的时候报错

~\.conda\envs\pytorch\lib\os.py in makedirs(name, mode, exist_ok)
    221             return
    222     try:
--> 223         mkdir(name, mode)
    224     except OSError:
    225         # Cannot rely on checking for EEXIST, since the operating system

PermissionError: [WinError 5] 拒绝访问。: '..\\data'

解决方法https://blog.csdn.net/qq_35184355/article/details/120894401

解决思路是将..替换为地址,同时要注意斜杠和反斜杠的问题。

2、

关于数据预处理的原理和解释可以参考如下链接pytorch--数据预处理基础操作(2)_乱花渐欲迷人眼~的博客-CSDN博客_os.makedirs(os.path.join​​​​​​('..','data'),exist_ok=tru数据预处理篇import osos.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') # 每行表示一个数据样本 https://blog.csdn.net/lkr_2023/article/details/123320373?ops_request_misc=&request_id=&biz_id=102&utm_term=os.makedirs(os.path.join(%27..%27,&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-1-123320373.142^v68^js_top,201^v4^add_ask,213^v2^t3_control2&spm=1018.2226.3001.4187

 

# 创建数据集
import os

os.makedirs(os.path.join('D:/Users/Lenovo/pythonlearning','data'),exist_ok=True)
data_file = os.path.join('D:/Users/Lenovo/pythonlearning','data','house_tiny.csv')
# os.path.join('l路径','文件名')拼接路径;os.makedirs(path,exist_ok = True指定了,如果某个要创建的目录已经存在,也不报错。)创建文件夹
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')          # 创建的人工数据集有四行三列
# 读取数据集
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)
# 对于非数值类型,将一列中所有种类的值都分为两个不同的特征
inputs=pd.get_dummies(inputs,dummy_na=True)
print(inputs)
# 缺失值和字符串变成了数值,可以变成pytorch.tensor变成张量
import torch

x,y=torch.tensor(inputs.values),torch.tensor(outputs.values)
x,y

你可能感兴趣的:(Python学习,学习,pytorch)