MinesweeperDatasetΒΆ
-
class
dgl.data.
MinesweeperDataset
(raw_dir=None, force_reload=False, verbose=True, transform=None)[source]ΒΆ Bases:
dgl.data.heterophilous_graphs.HeterophilousGraphDataset
Minesweeper dataset from the βA Critical Look at the Evaluation of GNNs under Heterophily: Are We Really Making Progress? <https://arxiv.org/abs/2302.11640>β__ paper.
This dataset is inspired by the Minesweeper game. The graph is a regular 100x100 grid where each node (cell) is connected to eight neighboring nodes (with the exception of nodes at the edge of the grid, which have fewer neighbors). 20% of the nodes are randomly selected as mines. The task is to predict which nodes are mines. The node features are one-hot-encoded numbers of neighboring mines. However, for randomly selected 50% of the nodes, the features are unknown, which is indicated by a separate binary feature.
Statistics:
Nodes: 10000
Edges: 78804
Classes: 2
Node features: 7
10 train/val/test splits
- Parameters
raw_dir (str, optional) β Raw file directory to store the processed data. Default: ~/.dgl/
force_reload (bool, optional) β Whether to re-download the data source. Default: False
verbose (bool, optional) β Whether to print progress information. Default: True
transform (callable, optional) β A transform that takes in a
DGLGraph
object and returns a transformed version. TheDGLGraph
object will be transformed before every access. Default: None
Examples
>>> from dgl.data import MinesweeperDataset >>> dataset = MinesweeperDataset() >>> g = dataset[0] >>> num_classes = dataset.num_classes
>>> # get node features >>> feat = g.ndata["feat"]
>>> # get the first data split >>> train_mask = g.ndata["train_mask"][:, 0] >>> val_mask = g.ndata["val_mask"][:, 0] >>> test_mask = g.ndata["test_mask"][:, 0]
>>> # get labels >>> label = g.ndata['label']
-
__getitem__
(idx)ΒΆ Gets the data object at index.
-
__len__
()ΒΆ The number of examples in the dataset.