[FEATURE REQUEST] Unify all evaluation functions into a class
Is your feature request related to a problem? Please describe.
Now we have three evaluation function for both node classification task and graph classification task. In the future we may have more. We can unify all the evaluation function into a class Evaluator. This is inspired by ogb's implementation: https://github.com/snap-stanford/ogb/blob/master/ogb/graphproppred/evaluate.py, where ogb provides one-click Evaluator based on dataset name.
For example, in ogb, Evaluator("ogbg-ppa") will return a object Evaluator tailored for ogbg-ppa.
Describe the solution you'd like
The weakness of such design is that, if user provides new datasets, they need to modify the implementation of Evaluator. However, we can also provide a unified Evaluator with eval_metric as arguments. Also, we can set built-in check for the dimension for y_pred and y_true.