cancel
Showing results for 
Search instead for 
Did you mean: 

Accurate GraphSage Embedding Generation

laxmimerit
Node Link

Hi,
I am training the GraphSage model for embeddings with 64 dim like below

CALL gds.beta.graphSage.train(
  'products',
  {
    modelName: 'productsGraphSage',
    nodeLabels: ['Group', 'Group1'],
    relationshipTypes: ['HAS_GROUP1'],
    featureProperties: ['group1_count', 'length'],
    embeddingDimension: 64,
    projectedFeatureDimension: 2,
    epochs: 10
  }
)

The model converged but generated embeddings are quite close to each other. Generated embeddings are always in this range

[0.0125671e-16, 0.0125672e-16, .......]

I am doing binary node classification by taking embeddings as input. The classification result gives me accuracy near to 50% only.

However, If I generate embeddings with FastRP algo, generated embeddings are quite good. It varies from +1 to -1 and my node classification algorithm also gives me 95% accuracy.
Seems like something is missing in GraphSage algo. Can someone help me to identify the actual cause of this issue?

DB Version: 4.4.3
GDS Version: 1.8.2
Neo4j Desktop: 1.4.12
OS: Windows 11
1 ACCEPTED SOLUTION

laxmimerit
Node Link

Currently, GraphSage is not that much fast and accurate. Maybe in the coming years Neo4j will work on it.

View solution in original post

1 REPLY 1

laxmimerit
Node Link

Currently, GraphSage is not that much fast and accurate. Maybe in the coming years Neo4j will work on it.