The data:
I have certain data that I decided to represent it as a graph (I thought it would suit).
So I have the weighted graph data that includes a numeric attribute for each node. (networkx graphs).
Each graph represents a session.
Each session label is either good (1) or bad (0).
The mission:
I need to predict given an unlabeled graph, whether it's good (1) or bad (0).
What did I do so far:
I've made the ML method that calculates features (using networkx excellent algorithms) over those graphs. For example I took the networkx algorithms for calculating betweenesss, degree_centrality, closeness_centrality, etc
I've received better results than the currently available results (which didn't use a graph for representing the data): F1-Score ~ 65%, ROC_AUC ~ 90%.
My intuition:
Maybe I shouldn't randomly choose networkx function. What if I could do something smarter using deep-learning. The model should understand how bad graph looks like, a good graph looks like, and make the classification
Problems:
I'm not sure if my intuition is correct. Maybe feeding the graph as is wouldn't be enough in order for the model to learn. I feel that I need advice regarding this approach, and especially previous similar works if they exist.
Relevant previous work
http://openaccess.thecvf.com/content_cvpr_2017/papers/Monti_Geometric_Deep_Learning_CVPR_2017_paper.pdf
http://proceedings.mlr.press/v48/niepert16.pdf
https://arxiv.org/pdf/1803.03324.pdf
https://arxiv.org/pdf/1709.05584.pdf
Questions:
- Is anyone familiar code implementations of those previous work / other previous works?
- Is someone familiar for methods that do it with a weighted graph that includes node attributes?
- Do you agree/disagree with my intuition?
- Do you suggest alternate ways with handling this problem? (DL or not DL)
Thank you :)