cancel
Showing results for 
Search instead for 
Did you mean: 

deepWalk algorithm doesn't go beyond iteration 0

Hi
I've tried out several public datasets as well as internal..deepWalk output is always iterations 0.

CALL embedding.deepWalk(null, null, { vectorSize:256, windowSize:100, writeProperty: 'dw_128', graph:'heavy'}) YIELD nodes, iterations;
+---------------------+
| nodes | iterations |
+---------------------+
| 262119 | 0 |
+---------------------+

Using neo4j 3.5.3 (neo4j-ml-models 1.0.2; built from source)

is this a bug?

thanks

4 REPLIES 4

mark_needham
Neo4j
Neo4j

Hey,

So the way the algorithm decides whether to do another iteration is based on whether it finds any new unique features on the current iteration. You can see the code that checks that condition here - https://github.com/neo4j-graph-analytics/ml-models/blob/master/src/main/java/embedding/DeepGL.java#L...

The Pruning code that works out whether there are unique features is here - https://github.com/neo4j-graph-analytics/ml-models/blob/master/src/main/java/embedding/Pruning.java#...

You can control how that pruning works by tweaking the config parameter pruningLambda - https://github.com/neo4j-graph-analytics/ml-models/blob/master/src/main/java/embedding/DeepGLProc.ja...

I would try reducing that value (default is 0.7) and then see if that helps.

CALL embedding.deepWalk(null, null, 
  { vectorSize:256, windowSize:100, writeProperty: 'dw_128', graph:'heavy', 
    pruningLambda: 0.3}) 
YIELD nodes, iterations;

Cheers, Mark

Thanks Mark. I tried several values. No luck.

Is there a way to enable this logging?
logger.log("Unique features this iteration: " + uniqueFeaturesSet.size());
if (uniqueFeaturesSet.size() == 0) {
Also, if you have specific public dataset that you tested it where it went beyond iteration 0, let me know as well.

Thanks

Ignore my logging question..It just doesn't get to that state.
If you can tell me which public data set this code has been tested, please let me know
thanks

krid_mail
Node Link

Hello Mark,

I'm experiencing the same problem as vramanathan. Are there any news on this issue? Additionally it would be great if you could point us to a - even if beta - documentation of the possible options of the deepWalk method.

Any help on this issue is greatly appreciated.

Best

Krid

Nodes 2022
Nodes
NODES 2022, Neo4j Online Education Summit

All the sessions of the conference are now available online