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