Setting the Edge Embedding Production Method
By default, the edge embedding is computed by combining the source vertex embedding, the destination vertex embedding and the edge features. You can manually set these by setting the EdgeCombinationMethod with booleans parameters:
opg4j> import oracle.pgx.config.mllib.edgecombination.EdgeCombinationMethods
opg4j> var method = EdgeCombinationMethods.concatEdgeCombinationMethod(useSourceVertex, useDestinationVertex, useEdge)
opg4j> var model = analyst.supervisedEdgeWiseModelBuilder().
setVertexInputPropertyNames("vertex_features").
setEdgeInputPropertyNames("edge_features").
setEdgeTargetPropertyName("labels").
setEdgeCombinationMethod(method).
build()
import oracle.pgx.config.mllib.edgecombination.EdgeCombinationMethod;
import oracle.pgx.config.mllib.edgecombination.EdgeCombinationMethods;
EdgeCombinationMethod method = EdgeCombinationMethods.concatEdgeCombinationMethod(useSourceVertex, useDestinationVertex, useEdge);
SupervisedEdgeWiseModel model = analyst.supervisedEdgeWiseModelBuilder()
.setVertexInputPropertyNames("vertex_features")
.setEdgeInputPropertyNames("edge_features")
.setEdgeTargetPropertyName("labels")
.setEdgeCombinationMethod(method)
.build();
from pypgx.api.mllib import ConcatEdgeCombinationMethod
method_config = dict(use_source_vertex=True,
use_destination_vertex=False,
use_edge=True)
method = ConcatEdgeCombinationMethod(**method_config)
params = dict(edge_target_property_name="labels",
vertex_input_property_names=["vertex_features"],
edge_input_property_names=["edge_features"],
edge_combination_method=method,
seed=17)
model = analyst.supervised_edgewise_builder(**params)