MCPcopy Create free account
hub / github.com/NineAbyss/ZeroG / FraudDataset

Class FraudDataset

code/dataset_benchmark.py:95–201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93
94
95class FraudDataset(InMemoryDataset):
96 '''
97
98 '''
99 url = 'https://data.dgl.ai/'
100 file_urls = {
101 "yelp": "dataset/FraudYelp.zip",
102 "amazon": "dataset/FraudAmazon.zip",
103 }
104 relations = {
105 "yelp": ["net_rsr", "net_rtr", "net_rur"],
106 "amazon": ["net_upu", "net_usu", "net_uvu"],
107 }
108 file_names = {"yelp": "YelpChi.mat", "amazon": "Amazon.mat"}
109 node_name = {"yelp": "review", "amazon": "user"}
110
111 def __init__(self, root, name, transform=None, pre_transform=None, random_seed=717,
112 train_size=0.7, val_size=0.1, force_reload=False):
113
114 self.name = name
115 assert self.name in ['yelp', 'amazon']
116
117 self.url = osp.join(self.url, self.file_urls[self.name])
118 self.seed = random_seed
119 self.train_size = train_size
120 self.val_size = val_size
121
122 super().__init__(root, transform, pre_transform)
123 self.load(self.processed_paths[0])
124
125 @property
126 def raw_dir(self):
127 return osp.join(self.root, self.name, 'raw')
128
129 @property
130 def processed_dir(self):
131 return osp.join(self.root, self.name, 'processed')
132
133 @property
134 def raw_file_names(self):
135 names = [self.file_names[self.name]]
136 return names
137
138 @property
139 def processed_file_names(self):
140 return 'data.pt'
141
142 def download(self):
143 path = download_url(self.url, self.raw_dir)
144 extract_zip(path, self.raw_dir)
145 os.unlink(path)
146
147 def process(self):
148 file_path = os.path.join(self.raw_dir, self.raw_file_names[0])
149
150 data = io.loadmat(file_path)
151 node_features = torch.FloatTensor(data["features"].todense())
152 # remove additional dimension of length 1 in raw .mat file

Callers 1

load_node_datasetFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected