我将使用 DL4J 来针对条件矩阵找到一个好的模型。我已经准备好了类似 CSV 的数据集(示例如下),在对超参数进行微调并多次训练模型后,我仍然无法获得合理的 Precision、Recall 和 F1 结果。请问我执行的有没有错误?示例数据集:## 基本上每一列都定义了每个样本的条件是否存在 (1) 或不存在 (0)。第一列是标签类只有2个输出,即1/0[1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1][1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0][1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1][0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0][1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0][0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0]...........数据向量部分:int OUTPUT_NEURONS = 2; // Only 2 classes for outputint CLASS_INDEX = 0; // First column is the labelint FILE_SIZE = 0; // FILE_SIZE will be calculated while preparing the datavecRecords belowList<List<Writable>> datavecRecords = new ArrayList<>();......Prepare the datavecRecords using above csv data ......CollectionRecordReader crr = new CollectionRecordReader(datavecRecords);RecordReaderDataSetIterator iter = new RecordReaderDataSetIterator(crr, FILE_SIZE, CLASS_INDEX, OUTPUT_NEURONS);allData = iter.next();SplitTestAndTrain testAndTrain = allData.splitTestAndTrain(0.6);DataSet trainingData = testAndTrain.getTrain();DataSet testData = testAndTrain.getTest();
2 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
您可以在此处的用户社区中找到您问题的答案:https : //gitter.im/deeplearning4j/deeplearning4j/tuninghelp
www说
TA贡献1775条经验 获得超8个赞
代码看起来不错。你在那里没有做错任何事。我认为只需要调整它。
您拥有的 60/40 测试/火车拆分高于我通常看到的 70/30 或 80/20。您有什么理由要保留更多数据进行测试?
当您说合理时,您的意思是与基线相比吗?如果不是,我将从本质上是逻辑回归的 OutputLayer 开始,您可以将其用作基线。
您是否尝试过添加更多图层?多一层 dropout 可能会有用。
添加回答
举报
0/150
提交
取消