1.任务内容
- 任务:根据一个人的年龄,工作类型,教育程度等18个特征做一个二分分类——判断其收入是否大于50k。train.csv文件打开如下:
- 训练集(X_train文件中):32561个人,106(扩展后,见2.1)个特征。
这里首先弄清了一个概念——回归:在我们认知(测量)这个世界的时候,我们并不能得到这个世界的全部信息(真值),只能得到这个世界展现出的可被我们观测的部分信息。那么,如果我们想得到世界的真值,就只能通过尽可能多的信息,从而使得我们的认识,无限接近(回归)真值。
简单来说,就将现有的数据向假设的模型拟合逼近。
2.实现代码详解
实例代码构建了一层的神经网络,输出层神经元为logistic unit,使用交叉熵损失函数。
1.数据预处理
首先这个任务有个很值得考虑的问题是,如何处理那些非数字的数据。一个似乎可行的办法是,给每类一个数字标记,如教育程度(小学,中学,大学)可以对应(1,2,3),这个方法的问题在于,会给算法暗示相邻数字对应的种类间存在某种联系,而实际上这种联系是不存在的。
另一种方法是作业使用的,把一个特征扩展到多个特征,教育程度扩展成小学,中学,大学等,每个特征用(0,1)标记。经此处理后,特征便从18维度被扩展到了106维,非数的特征也变为了数字。
还有一个处理数据的思路,把fnlwgt(final analysis weights)按区间扩展到多个特征,同样用&#