deepWalk algorithm doesn't go beyond iteration 0

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?



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 -

The Pruning code that works out whether there are unique features is here -

You can control how that pruning works by tweaking the config parameter pruningLambda -

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.


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

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.