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

在Google Colab中调用vpython.pca_results触发AttributeError问题求助

问题分析与解决

错误核心

你当前导入的vs被解析为vpython模块,但该模块不存在pca_results方法,因此抛出AttributeError。问题根源是模块导入混淆——你需要的pca_results是数据分析相关的自定义工具函数或第三方工具方法,而非3D可视化库vpython的功能。

解决步骤

  • 修正导入语句:
    你大概率误写了import vpython as vs这类代码。如果pca_results是你自己编写的函数,确保导入对应自定义脚本:比如你有一个visual_utils.py文件,应写:

    import visual_utils as vs
    

    在Colab环境中,需先将包含该函数的.py文件上传到左侧文件面板(点击「文件」→「上传到会话存储」)。

  • 补全函数来源:
    如果这个函数来自教程、课程资料,直接将对应函数的定义复制到Colab代码单元格中运行,再调用即可。典型的pca_results函数骨架示例:

    import pandas as pd
    import matplotlib.pyplot as plt
    
    def pca_results(data, pca):
        explained_variance = pca.explained_variance_ratio_
        results = pd.DataFrame({
            'PC': [f'PC{i+1}' for i in range(len(explained_variance))],
            'Explained Variance': explained_variance
        })
        plt.bar(results['PC'], results['Explained Variance'])
        plt.title('PCA Explained Variance')
        plt.show()
        return results
    
  • 替代实现方案:
    若找不到原函数,可直接用sklearn和matplotlib实现PCA结果可视化:

    import matplotlib.pyplot as plt
    import numpy as np
    import pandas as pd
    
    # 绘制累计解释方差折线图
    plt.plot(np.cumsum(pca.explained_variance_ratio_))
    plt.xlabel('Number of Principal Components')
    plt.ylabel('Cumulative Explained Variance')
    plt.show()
    
    # 生成载荷矩阵查看变量权重
    loadings = pd.DataFrame(
        pca.components_.T,
        columns=[f'PC{i+1}' for i in range(pca.n_components_)],
        index=data.columns
    )
    print(loadings)
    

内容的提问来源于stack exchange,提问作者Natthakorn Ruengdit

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 11:27:03