https://www.tensorflow.org/tutorials/estimator/linear
我正在遵循Tensorflow文档来实现线性分类器,但我希望使用自己的数据而不是教程集。我只是有几个一般性问题。
我的数据集如下。这不是时间序列。
row [0]-浮点型(已更改为二进制,0 =负,1 =正)要估算的值
row [1]-字符串(类别,已更改为词汇,整数1,2,3,4,5,6,7,8,9)
行[2-19]-浮动(正负)
row [20-60]-整数(百分等级,整数10,20,30,40,50,60,70,80,90)
行[61-95]-整数(二进制1、0)
我首先使用50k(45k训练)行数据,并且num_epochs = 100,batch_size = 256。
{'accuracy': 0.8912, 'accuracy_baseline': 0.8932, 'auc': 0.7101819, 'auc_precision_recall': 0.2830853, 'average_loss': 0.30982444, 'label/mean': 0.1068, 'loss': 0.31013006, 'precision': 0.4537037, 'prediction/mean': 0.11840516, 'recall': 0.0917603, 'global_step': 17600}
我要估算的列是否需要为该模型的二进制列?
混合这样的数据类型不是一个好主意吗?是否有必要使用preprocessing.Normalization ?
如果我想使用更多数据,是否应该更改时代/批次?
精度似乎很高,但损耗也很高,为什么?
还有其他建议吗?
感谢您的帮助或建议。
答案 0 :(得分:0)
这是您问题的答案。
n_classes=2
的二进制分类,但是您也可以拥有两个以上的类。尝试基于多个观察值来调整模型的超参数,并通过一些预处理来提供质量数据,这始终是达到高精度和减少损失的最佳方法,而拥有一些额外的数据将永远是最好的。