EllipticDataset(root, name, transform=None, pre_transform=None, pre_filter=None)
Bases: InMemoryDataset
Elliptic Bitcoin transaction network dataset loader for graph-based analysis.
| Parameters: |
|
|---|
Notes
Dataset Structure:
- Nodes represent Bitcoin transactions
- Edges represent transaction flows
- Node features from transaction data
- Labels indicate transaction categories
- Includes train/val/test splits (80/10/10)
processed_file_names
property
Names of processed data files.
| Returns: |
|
|---|
Notes
Processed files:
- data.pt: Contains processed PyTorch Geometric data object
raw_file_names
property
Names of required raw files.
| Returns: |
|
|---|
Notes
Required files:
- data.pkl: Pickle file containing adjacency matrix, labels, and features
download()
Download raw data files.
Notes
Empty implementation - data should be manually placed in raw directory
load_data(data_dir, filename)
Load raw pickle dataset file.
| Parameters: |
|
|---|
| Returns: |
|
|---|
Notes
- Validates dataset number
- Loads pickle file containing network structure
- Converts data to PyTorch tensors
process(mask=True)
Process raw data into PyTorch Geometric Data format.
| Parameters: |
|
|---|
Notes
Processing Steps:
-
Load pickle data:
- Node features
- Adjacency matrix
- Node labels
-
Convert to PyTorch format:
- Edge indices from sparse adjacency
- Float features
- Integer labels
-
Create Data object with:
- Edge indices
- Node features
- Node labels
- Train/val/test masks
-
Apply pre-transform if specified
- Save processed data
Data Split:
- Training: 80%
- Validation: 10%
- Testing: 10%
Features:
- Sparse matrix conversion
- Type casting
- Random split generation
- Optional pre-transform support