# Gnn Internet Routing Eval

> Evaluates Graph Neural Networks and traditional ML models on a compiled Internet routing dataset for link prediction and node classification. It probes the ability to infer missing AS-AS connections and predict voluntary PeeringDB attributes under conditions of graph sparsity and label imbalance. Use when the user wants to benchmark on Internet Routing AS Graph Dataset, or asks about evaluating this task. Reports binary cross entropy.

- Skill: `qhjqhj00/gnn-internet-routing-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/gnn-internet-routing-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/gnn-internet-routing-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/gnn-internet-routing-eval

---


# gnn-internet-routing-eval

> Benchmarking Graph Neural Networks for Internet Routing Data — Giakatos et al. (2022) (arXiv:2210.14189, 2022)

## What this evaluates

Evaluates Graph Neural Networks and traditional ML models on a compiled Internet routing dataset for link prediction and node classification. It probes the ability to infer missing AS-AS connections and predict voluntary PeeringDB attributes under conditions of graph sparsity and label imbalance.

## Datasets

- **Internet Routing AS Graph Dataset** — total ?; splits: train (-1), test (-1)

## Metrics

- `binary cross entropy` **(primary)** — range: other
  - Standard binary cross-entropy loss used to optimize and evaluate link prediction tasks. Measures the difference between predicted link probabilities and actual link existence.
- `cross entropy loss` — range: other
  - Multi-class cross-entropy loss used for node classification tasks. Measures the difference between predicted attribute distributions and true labels.

## Input / output format

**Input**: Node embeddings generated by GNNs or graph-embedding models (or raw node features for Random Forest). Link prediction uses node pairs; node classification uses individual node features.

**Output**: Binary prediction for link existence (link prediction) or multi-class label for AS attributes (node classification).

## Scoring recipe

```python
def compute_metric(predictions, gold, task):
    if task == 'link_prediction':
        return -mean(gold * log(predictions) + (1 - gold) * log(1 - predictions))
    else:
        return -mean(sum(gold_one_hot * log(predictions), axis=1))
```

## Common pitfalls

- Only ~25% of ASes have PeeringDB labels, requiring masking of unlabeled nodes during MLP training/testing.
- Severe class imbalance and graph sparsity force balancing of train sets and merging of rare classes (<500 samples).
- The protocol specifies loss functions for evaluation rather than standard accuracy or AUC metrics.

## Evidence (verbatim from paper)

> We use a binary cross entropy as a loss function for the link prediction task and the cross entropy loss (due to the many classes) for the node classification tasks. Since labels are not known for all nodes, for the classification task, while we consider all nodes in the generation of the embeddings (GNN), we train/test the MLP by using only the values for the nodes with labels (i.e., by masking the nodes without labels).

## Citation

```bibtex
@misc{giakatos2022benchmarking,
  title={Benchmarking Graph Neural Networks for Internet Routing Data},
  author={Giakatos et al. (2022)},
  year={2022},
  note={arXiv:2210.14189}
}
```

- arXiv: 2210.14189

