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.

Другие вопросы по тегам