数据预处理

#数据预处理
import os

#创建人工数据集,存在CSV文件
#os.makedirs(os.path.join('..','data')) #创建文件地址,即文件夹:D:\Research\Python\data
data_file = os.path.join('..','data','house_tiny.csv') #创建一个文件名,叫house_tiny
with open(data_file,'w') as f:
    f.write('NumRooms,Alley,Price \n') #列名, 房间名,进门的alley,房子卖多少钱
    f.write('NA,Pave,127500 \n') #每行表示一个数据样本,一共五行,写了4个房子,NA是未知的数
    f.write('2,NA,106000 \n')
    f.write('4,NA,178100 \n')
    f.write('NA,NA,14000 \n')

#读取刚刚创建的csv文件
import pandas as pd
data = pd.read_csv(data_file)
print(data)

#处理缺失的数据,一般考虑插值或者删除,这里我们用插值
#iloc是index location,位置索引
inputs,outputs = data.iloc[:,0:1],data.iloc[:,1]  #input里面放所有行[:],还有第0列和第1列的所有数据;output里是所有行,和最后一列的数据
inputs = inputs.fillna(inputs.mean()) #fillna,是所有Not number的数据(即表格里的NaN),在这里填上去除所有NaN值以后得到的平均值(mean) = 3
print(inputs)

#处理str特征的缺失数据,先把str数据变成一个特征,在这里只有pave和NaN
#pd.get_dummies相当于onehot编码,常用与把离散的类别信息转化为onehot编码形式。one-hot的基本思想:将离散型特征的每一种取值都看成一种状态,若你的这一特征中有N个不相同的取值,那么我们就可以将该特征抽象成N种不同的状态,one-hot编码保证了每一个取值只会使得一种状态处于“激活态”,也就是说这N种状态中只有一个状态位值为1,其他状态位都是0。举
inputs = pd.get_dummies(inputs,dummy_na=True) #如果值是pave,则变成1;如果是NaN,就变成0
print(inputs)

#现在所有的值都变成了数值,没有str,就把这个表格变成tensor(这里用pytorch)
import tensorflow as tf


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值