Как оказалось, 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
, но сейчас я просто собираюсь продолжить с этим курсом.