1

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

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

从 PyML 导入数据函数、支持向量机、评估、模型选择、ker

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

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

无法导入名称 datafunc`。从终端我检查每个模块说

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

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

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

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

4

1 回答 1

0

在 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

于 2014-03-20T15:24:45.807 回答