DOI: 10.5281/zenodo.16894786
title: Deprecated

description: # GraphLand


These are the datasets from the GraphLand benchmark introduced in the "GraphLand: Evaluating Graph Machine Learning Models on Diverse Industrial Data" paper. GraphLand provides node property prediction datasets from real-world industrial applications of graph machine learning.


GraphLand benchmark contains the following datasets:

* Multiclass node classification:

* `hm-categories`

* `pokec-regions`

* `web-topics`

* Binary node classification:

* `tolokers-2`

* `city-reviews`

* `artnet-exp`

* `web-fraud`

* Node regression:

* `hm-prices`

* `avazu-ctr`

* `city-roads-M`

* `city-roads-L`

* `twitch-views`

* `artnet-views`

* `web-traffic`


Each dataset is provided in its own directory. Each dataset directory contains the following files:

* `edgelist.csv` — graph edges in the edgelist format. Node that some datasets have directed graphs and some have undirected graphs (see `info.yaml` for each dataset). Regardless of this, the edges are always provided in a directed format used by graph deep learning libraries PyG and DGL, that is, if a graph is undirected, then each edge appears in the edgelist twice: as `(u, v)` and as `(v, u)`.

* `targets.csv` — node-level targets for the task, one per node. Contains NaNs if dataset has some unlabeled nodes.

* `features.csv` — node-level features, one feature vector per node. Node features can be either numerical or categorical (see `info.yaml` for each dataset for lists of numerical and categorical features). Numerical features contain NaNs if some values are unknown.

* `split_masks_RL.csv` — table with columns `train`, `val`, `test` containing masks for the `RL` (random low) split for the transductive setting (10%/10%/80% train/val/test random stratified split).

* `split_masks_RH.csv` — table with columns `train`, `val`, `test` containing masks for the `RH` (random high) split for the transductive setting (50%/25%/25% train/val/test random stratified split).

* `split_masks_TH.csv` — table with columns `train`, `val`, `test` containing masks for the `TH` (temporal high) split for the transductive and inductive settings (50%/25%/25% train/val/test temporal split). For the inductive setting, remove from the full graph all nodes and their incident edges from the val and test subsets to get the train graph, and remove from the full graph all nodes and their incident edges from the test subset to get the val graph. `TH` split is not provided for datasets which are almost static by nature (road networks) or for which there was no neccessary temporal information available: city-reviews, city-roads-M, city-roads-L, web-traffic.

* `info.yaml` — a yaml dictionary with dataset metadata. Contains the following keys:

* `dataset_name` — the name of the dataset.

* `task` — prediction task, one of: `multiclass classification`, `binary classification`, `regression`.

* `metric` — the recommended metric for evaluation. `accuracy` for multiclass classification, `AP` (average precision) for binary classification, `R2` (R-squared, coefficient of determination) for regression.

* `graph_is_directed` — a boolean value indicating whether the graph is directed.

* `has_unlabeled_nodes` — a boolean value indicating if the dataset has unlabeled nodes.

* `has_nans_in_numerical_features` — a boolean indicating if the dataset has NaNs in numerical features (categorical features never have NaNs as unknown values are simply encoded as a separate category).

* `target_name` — the name of the target variable from the `targets.csv` file.

* `numerical_features_names` — a list of names of all numerical features from `features.csv`. Numerical features can have widely different scales and distributions so in practice it might be useful to apply some transformation to them, e.g., standard scaling or a quantile transformation.

* `fraction_features_names` — a subset of `numerical_features_names`, a list of names of all numerical features that have the meaning of fractions and are thus always in `[0, 1]` range. These features are specified because due to their range it may not be neccessary to apply transformations to them in contrast to other numerical features.

* `categorical_features_names` — a list of names of all categorical features from `features.csv`. In practice it might be useful to apply one-hot encoding to them. Each feature from `features.csv` is either in `numerical_features_names` or in `categorical_features_names`.


GraphLand datasets are provided under the Apache 2.0 license.


If you found GraphLand datasets useful, please cite the following work:


```

@article{bazhenov2025graphland,

title={{GraphLand: Evaluating Graph Machine Learning Models on Diverse Industrial Data}},

author={Bazhenov, Gleb and Platonov, Oleg and Prokhorenkova, Liudmila},

journal={arXiv preprint},

year={2025}

}

```