深度学习采用的数据全部以张量的形式存储在内存中,然而我们拿到手的原始数据却不是张量形式,因此需要首先对数据进行处理,将其转换为张量形式,可以采用Python中的Pandas包来完成。
读取数据集
1 |
|
NumRooms Alley Price 0 NaN Pave 127500 1 2.0 NaN 106000 2 4.0 NaN 178100 3 NaN NaN 140000
此处可以调用head等函数查看读取的数据集,或者直接用print函数
处理缺失值
如果数据集中某行某字段的值缺失,输出时会标识为”NaN”,缺失值会对后续处理造成影响,因此需要对缺失数据进行处理,典型的方法包括插值法和删除法。插值法是用一个替代值弥补缺失值,删除法则是直接忽略缺失值。此处以插值法为例
1 |
|
NumRooms Alley 0 3.0 Pave 1 2.0 NaN 2 4.0 NaN 3 3.0 NaN
通过位置索引函数,可以将数据分为inputs和outputs,缺失值用同一列的均值填充。需要注意的是此处填充的为数值型的值,即连续值,对于inputs中的类别值或者离散值,可以将”NaN“视为一个类别,调用get_dummies函数可以将同一离散值列按照取值不同拆分为不同的列并用0,1标示取值。例如
1 |
|
NumRooms Alley_Pave Alley_nan 0 3.0 1 0 1 2.0 0 1 2 4.0 0 1 3 3.0 0 1
转换为张量格式
通过缺失值处理将原数据集中的缺失值补充完整,并将输入输出放入dataFrame中,接下来将其转换为张量,转换为张量后可以进行进一步操作。
1 |
|