Python ImportError: невозможно импортировать имя datafunc [PyML]
Я установил пакет PyML, чтобы использовать некоторые алгоритмы машинного обучения, и, согласно учебнику, моя установка прошла успешно.
Я пытаюсь запустить скрипт Python, который включает в себя следующую строку для импорта модулей из PyML
из PyML импортировать datafunc,svm, оценивать,modelSelection,ker
Однако я получаю сообщение об ошибке выше, сказав
файл
<stdin>
строка 1, в<module>
ImportError: невозможно импортировать имя datafunc
невозможно импортировать имя datafunc`. Из терминала я проверяю каждый модуль, говоря
из PyML импорта datafunc, из PyML import svm, из PyML импорта кер
Я получаю только сообщение об ошибке для datafunc
, Библиотека PyML находится под site-packages
папка Python 2.7.
Я проверяю этот вопрос здесь Python error: ImportError: не могу импортировать имя Akismet, но я не мог понять, как это поможет моей проблеме.
У вас есть идея, почему Python импортирует некоторые модули, но не импортирует этот?
1 ответ
В PyML-0.7.13.3 datafunc
модуль существует в PyML/containers
каталог. Таким образом, кажется, что вы можете импортировать модуль следующим образом:
from PyML.containers import datafunc
Однако, это вызывает ошибку, потому что datafunc
модуль использует неопределенные классы BaseVectorDataSet
а также SparseDataSet
,
Таким образом, вам нужно изменить источник 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.