学了几天深度学习,于是做了一个小demo来实践了一下,基于UCI的收入数据集进行训练,输入个人的信息来预测其收入是否>50K美金。数据格式如下:
Example:
input:25, Private, 226802, 11th, 7, Never-married, Machine-op-inspct, Own-child, Black, Male, 0, 0, 40, United-States
output:<=50K.
数据预处理
由于数据中含有字符串,不方便训练,需要先对数据进行预处理转换成数值类型,首先遍历每一个非int型的列,将每个字符串加入一个set,之后将所有的字符串对应上不同数值,放入一个dict。
然后将data中所有的字符串换成对应的数值,处理程序如下:
data = pd.read_csv('../data/adult.data', header=None)
row = data[0:1]
d = {
}
for index in row:
temp = row[index]
if temp.dtype != int:
keys = list(set(data[index]))
values = range(len(keys))
d.update(dict(zip(keys, values)))
# print(dict(zip(keys, values)))
# for index_col in data[index].keys():
# data.loc[index_col, index] = d[data[index][index_col]]
data = data.applymap(lambda x: d[x] if type(x) != int else x)
data.to_csv('../data/PreProcess_adult.data', header=None, index=None)
d.update(