You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用PageRank的fit_predict方法时出现TypeError错误求助

排查sknetwork PageRank fit_predict的类型错误

问题核心

报错TypeError: The input matrix must be in Scipy sparse format or Numpy ndarray format说明你传给fit_predict的adjacency对象不符合要求格式——sknetwork的PageRank仅接受scipy稀疏矩阵或numpy数组,不直接兼容其内置的Adjacency类实例。

排查与解决步骤

  • 确认adjacency对象类型
    先打印对象类型验证:

    print(type(adjacency))
    

    若输出为<class 'sknetwork.data.structure.Adjacency'>,则说明是sknetwork专属对象,需转换格式后使用。

  • 转换adjacency为兼容格式
    转成scipy稀疏矩阵(推荐,内存占用更低):

    sparse_matrix = adjacency.to_scipy_sparse()
    

    或转成numpy数组:

    numpy_array = adjacency.toarray()
    

    再将转换后的对象传入fit_predict:

    pagerank = PageRank()
    scores = pagerank.fit_predict(sparse_matrix)
    
  • 修正边列表转邻接矩阵的代码逻辑
    若你是通过from_edge_list生成邻接对象,避免直接传递原始返回值,需先完成格式转换:

    # 错误写法:直接传入Adjacency对象
    adjacency = from_edge_list(edge_list)
    scores = pagerank.fit_predict(adjacency)
    
    # 正确写法:先转换格式再传入
    adjacency = from_edge_list(edge_list)
    sparse_matrix = adjacency.to_scipy_sparse()
    scores = pagerank.fit_predict(sparse_matrix)
    

内容的提问来源于stack exchange,提问作者Herve Kabla

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 03:02:35