【问题标题】:Python ImportError: cannot import name datafunc [PyML]Python ImportError:无法导入名称数据函数 [PyML]
【发布时间】:2014-04-27 06:59:54
【问题描述】:

为了使用一些机器学习算法,我已经安装了PyML包,按照教程,我安装成功了。

我尝试运行一个 python 脚本,其中包含以下行以从 PyML 导入模块

从 PyML 导入数据func,svm,assess,modelSelection,ker

但是我收到上面的错误消息说

文件<stdin>,第 1 行,在<module> ImportError: cannot import name 数据函数

无法导入名称数据函数。从终端我检查每个模块说

从 PyML 导入数据函数, 从 PyML 导入 svm, 从 PyML 导入 ker

我只收到datafunc 的错误消息。 PyML 库位于 Python 2.7 的 site-packages 文件夹下。

我在Python error: ImportError: cannot import name Akismet 在这里检查了这个问题,但我看不出它对我的问题有什么帮助。

你知道为什么 Python 会导入一些模块但不导入这个吗?

【问题讨论】:

    标签: python python-2.7 import pyml


    【解决方案1】:

    在 PyML-0.7.13.3 中,datafunc 模块存在于PyML/containers 目录中。 所以看来你可以按如下方式导入模块:

    from PyML.containers import datafunc
    

    但是,它会引发错误,因为 datafunc 模块使用 未定义的类BaseVectorDataSetSparseDataSet

    因此需要修改PyML的源码 为了使用datafunc 模块。 首先,将以下两行添加到PyML/containers/datafunc.py 并重新安装 PyML 库。

    from PyML.containers.baseDatasets import BaseVectorDataSet
    from PyML.containers.vectorDatasets import SparseDataSet
    

    然后你可以按如下方式导入模块:

    from PyML import svm, modelSelection, ker
    from from PyML.containers import datafunc
    from from PyML.evaluators import assess
    

    顺便说一句,我建议您使用更多有文档且经过测试的机器学习库,例如 scikit-learn

    【讨论】:

    • 我实际上尝试运行一篇研究文章的源代码,所以我不得不安装 PyML,因为他们这样做了。你的方法很好用,谢谢!但是,这一次我收到这条错误消息说data = datafunc.KernelData(sys.argv[3]) AttributeError: module object has no attribute KernelData 。你有什么想法吗?提前致谢。
    • from PyML.containers import KernelData
    • hmm,但是并没有解决问题,因为容器中没有KernelData,而是kernelData。除了导入kernelData 也没有工作:( 还是谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 2014-09-27
    • 2020-04-09
    • 2016-12-24
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多