Neural network Tensorflow DNN回归大多忽略了分类列
我试图对媒体文件处理的执行时间进行建模。我有1.3米的培训记录和1.3米的考试记录。我有四个分类列(操作、服务器类型、优先级和文件类型)、两个连续列(文件大小、媒体持续时间)和一个目标列(处理时间、连续) 我已经修改了广泛而深入的教程代码,以使用回归器而不是分类器,并输出测试评估的预测。我改变了隐藏层的宽度和深度(例如[256,128],[512,256,128,64])。当我遇到分歧问题时,我从默认的ProximalAdagradOptimizer更改为AdamOptimizer 深度(DNN)和宽深(线性回归+DNN)似乎在400到1000步后达到损失平台,具体取决于模型的具体情况。宽(线性回归)似乎稳定了几个数量级。我已经将这些模型运行了4000-10000步,试图脱离高原 检查预测表明,深度、广度和深度结果对我的“操作”分类列相对不敏感。我尝试过增加分类嵌入列的维度(从8开始,但将“operation”值增加到80),但这并没有带来太大的区别。广泛的结果确实显示了对“操作”的敏感性,但这些结果总体上更糟 “操作”列是1-3000范围内的整数,具有大约300个不同的值 我对我的测试数据集和预测做了一些测量。预测的均方根误差在目标平均值的量级上。预测的平均值约为实际值平均值的70%,五个区域的比率相似(最小值、第1季度、中间值、第3季度、最大值)。预测与目标的比率在0.01到30之间。简言之,该模型显示出了一些希望,但它似乎并没有完成这项工作 下面是我的问题:Neural network Tensorflow DNN回归大多忽略了分类列,neural-network,tensorflow,deep-learning,Neural Network,Tensorflow,Deep Learning,我试图对媒体文件处理的执行时间进行建模。我有1.3米的培训记录和1.3米的考试记录。我有四个分类列(操作、服务器类型、优先级和文件类型)、两个连续列(文件大小、媒体持续时间)和一个目标列(处理时间、连续) 我已经修改了广泛而深入的教程代码,以使用回归器而不是分类器,并输出测试评估的预测。我改变了隐藏层的宽度和深度(例如[256,128],[512,256,128,64])。当我遇到分歧问题时,我从默认的ProximalAdagradOptimizer更改为AdamOptimizer 深度(DNN
- 我如何强迫模型更加关注“操作”列?我希望避免使用硬权重,因为我认为模型应该能够了解本专栏的重要性。我担心我只是没有正确地将其纳入公司
- 我应该在模型中寻找什么来确定每个专栏的相关性
- 由于我的目标在很大范围内变化(高达70000左右),我是否可以或应该更改损失函数,以使用预测与目标的比率,而不是原始差异?如果是这样的话,我如何将其应用到DNNLinearRegressor之类的函数中