dkaslovsky / GraphRole

Automatic feature extraction and node role assignment for transfer learning on graphs (ReFeX & RolX)
MIT License
79 stars 21 forks source link

Update dependencies to modern versions #13

Closed rjurney closed 1 year ago

rjurney commented 1 year ago

I updated the requirements.txt to include more modern dependencies. I was unable to work with this library in my class's docker image / Python environment until I did so.

cc @dkaslovsky

rjurney commented 1 year ago

Fixed in #14 Can you review?

dkaslovsky commented 1 year ago

Thanks @rjurney! I'll plan to get this reviewed and merged very soon (today or tomorrow). I appreciate it!

rjurney commented 1 year ago

Cool! Thanks

dkaslovsky commented 1 year ago

Thanks again, merged!

I'll get the version bumped to get a new release going here soon and will upload to pypi.

rjurney commented 1 year ago

Great, thanks! Btw, does this implement RolX, RefeX or something in between? Does it scale as well as RolX?

dkaslovsky commented 1 year ago

It implements both RolX and RefeX as described by in the papers [1] and [2]:

[1] Henderson, et al. It’s Who You Know: Graph Mining Using Recursive Structural Features.

[2] Henderson, et al. RolX: Structural Role Extraction & Mining in Large Graphs.

I am unsure about how the scalability compares to RolX as I have not evaluated it from this perspective (and it has been quite some time since I implemented it). It does leverage pandas functions where possible and attempts to be efficient, or at least not gratuitously inefficient, but I couldn't make an assertion as to the actual scalability or complexity.

I hope this is helpful!