New GNN model: Boosted Graph Neural Network (BGNN)
See original GitHub issue🚀 Feature
A proposal of a new GNN model coming from ICLR 2021: https://openreview.net/forum?id=ebS5NUfoMKL The model is implemented with DGL: https://github.com/nd7141/bgnn
Motivation
This is the first GNN designed to work well on graphs when node features are heterogeneous. Heterogeneous means that each feature has some individual meaning. For example, in a social network each person can have age, income, gender, graduation date, etc. as features. On the other hand, previous GNNs perform well when the node features are homogeneous. For example, node features are pretrained word embeddings or bag-of-words features.
Pitch
What I proposed in the paper is not a new GNN layer, but a whole model, rather a combination of GNN and GBDT models. Ideally, the end user will do something like:
from dgl.models import BGNN
bgnn = BGNN(*params)
bgnn.fit(graph, node_features, target_labels)
Additional context
The model currently works for node classification and regression tasks.
The model is implemented with DGL: https://github.com/nd7141/bgnn dgl_cu92==0.5.3 is tested.
Importantly, BGNN relies on installed GBDT package. I tested it with CatBoost package (https://catboost.ai/). I feel like it’s easier to install CatBoost across all OS platforms rather than LightGBM or XGBoost (those are possible options too, but I haven’t tested them). So CatBoost can be part of optional dependencies for users who want to use BGNN.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:1
- Comments:29 (23 by maintainers)

Top Related StackOverflow Question
Yes, definitely. I will look at it next week.
I created a pull request: https://github.com/dmlc/dgl/pull/2740 Let’s move discussion there.