为什么用算法包跑louvain算法出来的结果点的数量会少于输入数据点的数量

如标题所示,我输入的数据中点的数量一共有7万的点,得出来的结果文件中数量只有不到五万个点了,包含了单独一个点构成社区的点,那其他的点没有显示是有什么理论依据嘛?还是说算法包存在问题,用的算法包是nebula-algorithm-2.5-20211202.023336-4.jar

检查一下数据,是不是2万个点没有出边或入边?

检查过了,所有点都有出边或者入边,应该不是数据的问题。并且调整tol参数时得到的结果文件中点的数量也会不一样,始终都会比原数据少一部分点

重复问题,另一帖子已回复

另外一个帖子回的用nebula-algorithm-2.5-20211216.094746-8.jar这个算法包跑,出来的结果是空的,一行数据都没有 :joy:

我用nebula-algorithm-2.5-20211216.094746-8.jar 测试了下louvain,结果是正确的。
如果您的结果没有数据,建议检查一下:
1)jar是否正确
2)输入数据源是否有数据
3)输入数据的格式

确认没有重复的点?

这是我输入的数据,vertex是点文件,只有一列,每个代表点ID,edges是边文件,第一列是起点,第二列是终点,第三列是权值,带权值计算,参数tol是500000,另外两个迭代次数的参数都是10,你这边能试跑一下嘛?
edges_data.csv (9.0 MB)
vertex_data.csv (3.2 MB)

确定没有重复的点,并且所有点都有出边或者入边

你好。不知道您这边尝试跑了嘛?出来的结果是不是少了一部分点

收到,稍等哈。我这边hadoop环境有点问题。

好的,感谢!

50万的边数据量太大了。
我head -1000, tol为500000 跑出 1286个点。

另外,参数tol是500000 太大了。

那么结果中的点是不是原始数据中的点数量不一致?这是什么原因呀
因为我数据在边上的权值比较大,所以tol设置得比较大,不过无论我如何设置tol,结果中的点数量和原始点数量都不一致,主要疑问就是在点数量这里

边有1000个,点可能比边多,也可能少

我的意思是原始数据我是进行过ID映射的,确定50w条边的起始点和结尾点里是有428841个不同点的,但是结果里点的数量会少于428841,并且调整tol参数,结果中点的数量也是变化的,不应该是固定的才对嘛?

可能是个bug,我先记录一下。

好的,麻烦你们了,大概什么时候会有反馈或者解决,我这边等着用结果 :rofl:

刚我记录了个 issue:https://github.com/vesoft-inc/nebula-exchange/issues/73 :thinking: 需要等研发同学 fix 哈。

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。