Replies: 1 comment 3 replies
-
Do you desperately need to make use of h = model(x=None, edge_index, edge_attr)
edge_feat = torch.cat([h[edge_index[0]], edge_attr, h[edge_index[1]]], dim=-1)
return classifier(edge_feat) The only challenge is to write a model that works with featureless input node features and can incorporate edge features. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm working on an edge classification task to classify malicious network flows. These flows are characterized by source and destination IP/Port and other 80 features. I also assume that nodes are featureless and they are indexed by the IP:Port combination. I'm am using CIC-IDS2017 dataset with 225745 entries selected from Benign and DDoS flows.
In IT networks there are usually a few nodes generating a lot of flows (edges), so the network has nodes with high degree. Considering that I want to perform the classification on those flows using a node-classification model, so I compute the Line Graph first and then I perform the classification.
The data object represents the entire network and is directed. When I use
LineGraph()
on the data object I obtain millions of edge pairs in the new edge_index attribute. My model use 2 GCNconv layer to generate the embedding of the graph and then classification is performed by a binary-classifier on it.The problem is the explosion of the edge_index vector dimension after
LineGraph()
is applied because theGCNconv
layer now deals with millions of edge and it is very slow.I was wondering if it was a good idea to reduce the edge_index vector by eliminating a fraction of the equal pairs (edge1-> edge2) to lighten the starting graph and then calculate the line graph.
The model that generates the embedding is based on ARGA example, but I removed the clustering part to perform binary classification on the nodes of the Line Graph (edges of the starting graph).
Thanks
Beta Was this translation helpful? Give feedback.
All reactions