17.3.11 Inferring Edge Labels for a Supervised EdgeWise Model
You can infer the edge labels on any graph (including edges or graphs that were not seen during training):
opg4j> var labels = model.infer(fullGraph, testEdges)
opg4j> labels.head().print()PgxFrame labels = model.infer(fullGraph, testEdges);
labels.head().print();labels = model.infer(full_graph,test_edges)
labels.print()If the loss is SigmoidCrossEntropy or
DevNetLoss, then it is also possible to set the decision
threshold applied to the logits by adding it as an extra parameter, which is by
default 0:
opg4j> var labels = model.infer(fullGraph, testEdges, 6f)
opg4j> labels.head().print()PgxFrame labels = model.infer(fullGraph,testEdges,6f);
labels.head().print();labels = model.infer(full_graph, full_graph.get_edges(), 6)
labels.print()The output will be similar to the following example output:
+-----------------------------+
| edgeId | value |
+-----------------------------+
| 68472 | 2.2346956729888916 |
| 53436 | 2.1515913009643555 |
| 73364 | 1.9499346017837524 |
| 12096 | 2.1704165935516357 |
| 78740 | 2.1174447536468506 |
| 27664 | 2.1041007041931152 |
| 34844 | 2.148571491241455 |
| 74224 | 2.089123010635376 |
| 33744 | 2.0866644382476807 |
| 32812 | 2.0604987144470215 |
+-----------------------------+
Similarly, if the task is a classification task, you can get the model confidence for each class by inferring the prediction logits:
opg4j> var logits = model.inferLogits(fullGraph, testEdges)
opg4j> logits.head().print()PgxFrame logits = model.inferLogits(fullGraph,testEdges);
logits.head().print();logits = model.infer_logits(full_graph, test_edges)
logits.print()If the model is a classification model, the inferLabels
method is also available and it is equivalent to the infer
methoid.