SKLearn 0.20.2 - Ошибка импорта с RandomizedPCA? - PullRequest
0 голосов
/ 02 февраля 2019

Я пытаюсь сделать мини-проект Udacity, и у меня установлена ​​последняя версия библиотеки SKLearn (20.2).

Когда я запускаю:

from sklearn.decomposition import RandomizedPCA

Iполучить ошибку:

ImportError: cannot import name 'RandomizedPCA' from 'sklearn.decomposition' (/Users/kintesh/Documents/udacity_ml/python3/venv/lib/python3.7/site-packages/sklearn/decomposition/__init__.py)

Я даже обновил версию, используя:

pip3 install -U scikit-learn

Который был обновлен с 0.20.0 до 0.20.2, который также был удален и переустановлен ... поэтому я не уверен, почему он не может инициализировать sklearn.decomposition.

Есть ли здесь какие-либо решения, которые могут не привести к полному удалению python3 с моей машины ?!В идеале хотелось бы избежать этого.

Любая помощь будет принята с благодарностью!

Редактировать:

Я кое-что копаю и пытаюсь это исправить, и это выглядит какхотя файл __init__.py в библиотеке decomposition на SKLearn GitHub не ссылается на RandomizedPCA ... он был удален или что-то в этом роде?

Ссылка на страницу GitHub

1 Ответ

0 голосов
/ 02 февраля 2019

Как оказалось, RandomizePCA() устарело в более старой версии SKLearn и является просто параметром в PCA().

Это можно исправить, изменив оператор импорта на:

from sklearn.decomposition import PCA as RandomizedPCA

... и тогда ваш классификатор будет выглядеть следующим образом:

pca = RandomizedPCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)

Однако, если вы здесь, потому что вы проходите курс Udacity Machine Learning по Eigenfaces.py, выобратите внимание, что библиотека PIL также устарела.

К сожалению, у меня нет решения для этого, но здесь страница вопроса GitHub , а здесь Добросердечная душа, которая использовала блокнот Jupyter для решения своего мини-проекта, когда работали эти репозитории.

Надеюсь, это поможет и даст достаточно информации для следующего человека, который займется машинным обучением.Если у меня будет какое-то время, я могу воспользоваться перекодировкой eigenfaces.py для SKLearn 0.20.2, но сейчас я просто собираюсь продолжить с этим курсом.

...