Neo4j GDS Python库缩放函数是否存在及调用方法咨询
Neo4j GDS Python Library 中缩放函数的支持与调用方法
存在对应的缩放函数,对应官方文档里的Scale Properties功能,在Neo4j Graph Data Science Python Library中可以通过gds.alpha.scaleProperties过程调用(因为该功能属于Alpha阶段算法,所以命名带alpha前缀)。
调用步骤示例
初始化GDS连接
先确保已安装graphdatascience库,然后建立与Neo4j数据库的连接:from graphdatascience import GraphDataScience # 替换为你的Neo4j连接信息 gds = GraphDataScience("bolt://localhost:7687", auth=("neo4j", "your-db-password"))投影带数值属性的图
缩放操作需要基于已投影的图(包含待缩放的节点数值属性):# 投影包含目标数值属性的图,替换标签、关系类型和属性名 G, project_result = gds.graph.project( "my-target-graph", "YourNodeLabel", {"YOUR_REL_TYPE": {"orientation": "UNDIRECTED"}}, nodeProperties=["property-to-scale"] )执行缩放操作
支持两种主要缩放方法:min-max(归一化到指定区间)和standardize(Z-score标准化),以下是两种调用示例:Min-Max缩放
# 将目标属性缩放到0-1区间,生成新的属性scaled-property mutate_result = gds.alpha.scaleProperties.mutate( G, nodeProperties=["property-to-scale"], scalingMethod="min-max", mutateProperty="scaled-property", minValue=0, # 可选,默认0 maxValue=1 # 可选,默认1 ) # 查看操作统计结果 print(f"处理节点数: {mutate_result['nodePropertiesWritten']}")Z-score标准化
# 对目标属性做Z-score标准化,生成新属性standardized-property mutate_result = gds.alpha.scaleProperties.mutate( G, nodeProperties=["property-to-scale"], scalingMethod="standardize", mutateProperty="standardized-property" )
注意事项
- 该功能属于Alpha阶段,API可能在未来版本中发生变更,请确保你的GDS Python库与Neo4j服务器端的GDS插件版本匹配。
- 除了
mutate模式,还支持stream(返回缩放后的值)和write(将缩放后属性写入原节点)模式,调用方式类似,替换.mutate为.stream或.write即可。
内容的提问来源于stack exchange,提问作者Benjamin Borg
相关产品推荐
相关产品推荐

