squareRoot3 / Rethinking-Anomaly-Detection

"Rethinking Graph Neural Networks for Anomaly Detection" in ICML 2022

Home Page:https://proceedings.mlr.press/v162/tang22b.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How to revise the code for customer data?

gaoisbest opened this issue · comments

Hi, appreciate for the good work.

I just wonder how to apply the model to my own dataset. I create a new Dataset class in dataset.py, and the training log is:

New Epoch 0, loss: 9876.6387, val auc: 0.4638, (best 0.4638)
New Epoch 1, loss: 10238.6592, val auc: 0.5000, (best 0.5000)
Old Epoch 2, loss: 16768.4883, val auc: 0.4972, (best 0.5000)
New Epoch 3, loss: 6477.2031, val auc: 0.5015, (best 0.5015)
New Epoch 4, loss: 7492.1030, val auc: 0.5346, (best 0.5346)
Old Epoch 5, loss: 3376.0156, val auc: 0.5009, (best 0.5346)
Old Epoch 6, loss: 6690.4409, val auc: 0.5061, (best 0.5346)
New Epoch 7, loss: 7040.9297, val auc: 0.5422, (best 0.5422)
Old Epoch 8, loss: 3368.5303, val auc: 0.5364, (best 0.5422)
Old Epoch 9, loss: 2954.3882, val auc: 0.5003, (best 0.5422)

The val auc is around 0.5, maybe the model not learn anything.

Any ideas about this ? thanks

Hi,

It seems that the loss is quite large from your output, which makes the training process unstable. Usually, the loss will be less than 10 after a few epochs.
You can try to use different learning rates in main.py line 34.
You can also check whether some basic models (e.g., MLP, GCN) can learn something from your dataset.