A node’s signal is information associated with that node, such as a person’s age in a social network. In a graph neural network (GNN), node features provide a starting point for a learned representation. Each message-passing layer combines a node’s current features with information gathered from its neighbors, so the resulting embedding reflects both features and graph structure. section 1.2.1 section 2.2.1
To put node signal into a GNN workflow:
- Choose the entities, edges, and features when turning raw data into a graph. section 1.5.1
- Place node features in `data.x` and pass them with `data.edge_index` to a PyTorch Geometric model. A GCN layer uses both inputs to update node embeddings. section 2.2.1
- Inspect feature distributions before training: skew, multiple peaks, and outliers can affect how useful a feature is for the task. section 4.2.4
Review-fraud signals
A review graph uses normalized features derived from reviews, reviewers, and businesses. Behavioral signals include rating deviation and how many reviews a person writes in a day; textual signals include review length and content similarity. The features can also serve as tabular inputs to non-graph baselines. section 4.2.1 section 4.2.2
Table 2.3 Classification performance of the GNN model where the input graph uses different node features
|
Model
|
GNN Accuracy
|
GNN F1 Score
|
|---|---|---|
|
Two-layer, randomized features
|
82.27%
|
82.14%
|
|
Two-layer, N2V features
|
87.79%
|
88.10%
|
|
Four-layer, randomized features
|
86.58%
|
86.90%
|
|
Four-layer, N2V features
|
88.99%
|
89.29%
|
Compare GNN classification results with randomly initialized node features and Node2Vec embeddings used as features. Both the input signal and the number of GNN layers vary. section 2.3.3
Signal does not have to arrive as a ready-made attribute: one experiment initializes node features randomly, while another starts with Node2Vec embeddings. For the review graph, feature definitions were handcrafted and normalization required additional preprocessing; inspecting the resulting values remains part of the workflow. section 2.3.3 section 4.2.4









