Comments (1)
@sebkaz I've also noticed this issue (different embedding vectors per iteration of the same algorithm/params/seed).
I think it's a hard one to solve at the karateclub
level, across all algorithms, given reliance on other packages under the hood.
E.g. NetMF
uses sklearn's TruncatedSVD
which defaults to a randomised solver and seems to acknowledge this issue in the documentation:
SVD suffers from a problem called “sign indeterminacy”, which means the sign of the components_ and the output from transform depend on the algorithm and random state. To work around this, fit instances of this class to data once, then keep the instance around to do transformations.
It would seem to me that any workarounds (e.g. setting workers=1, using other solvers) would lead to an increased compute time and on balance isn't worth it? E.g. if you have a specific use case where you need it to be reproducible then the user can address that on a case-by-case basis?
from karateclub.
Related Issues (20)
- Estimator _check_graph method
- g2vec_model.infer([test_graph]) returns different embeddings each time I call it HOT 2
- IGE Laplacian Issue for small graphs HOT 1
- Dependency update HOT 16
- gl2vec doc’s may be inconsistent with the code HOT 4
- Does GraRep change the input graph ? HOT 3
- How are ego-nets created
- cannot import name '_rename_parameter' from 'scipy._lib._util' HOT 6
- Inductive Node Embedding Algorithms in KarateClub HOT 2
- numpy version error HOT 10
- How to retrieve the mapping between nodes and embeddings with get_embedding() ? HOT 1
- Add set_params to Estimator base class
- Pandas version
- AssertionError: The node indexing is wrong. HOT 4
- [Graph2Vec] the right way to build the attributed graph... HOT 2
- Graph2Vec—— how the attributed nodes are transformed to subgraph and word?
- GLEE - the sign of embedding values changes for repeat fits
- Feather-Graph with attributed graphs
- Cut new release 1.3.4 [or 1.4.0?] HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from karateclub.