SKLearn 0.20.2 - 随机PCA导入错误



我正在尝试做Udacity迷你项目,并且安装了最新版本的SKLearn库(20.2)。

当我运行时:

from sklearn.decomposition import RandomizedPCA

我收到错误:

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?!理想情况下希望避免这种情况。

任何帮助将不胜感激!

编辑:

我正在做一些挖掘并试图解决这个问题,似乎 SKLearn GitHub 上decomposition库中的__init__.py文件没有引用RandomizedPCA......它被删除了还是什么?

链接到 GitHub 页面

事实证明,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 机器学习课程而在这里 Eigenfaces.py ,您会注意到 PIL 库也被弃用。

不幸的是,我没有解决方案,

但这里是 GitHub 问题页面,这里有一个善良的灵魂,当这些存储库工作时,他们使用 Jupyter Notebook 来解决他们的小项目。

我希望这有所帮助,并为下一个人进入机器学习提供足够的信息。如果我有时间,我可能会尝试重新编码eigenfaces.py SKLearn 0.20.2,但现在我只是要破解本课程的其余部分。

除了@Aaraeus所说的之外,PIL library还分叉到Pillow。您可以使用以下方法修复PIL导入错误

pip3 install pillow

相关内容

  • 没有找到相关文章

最新更新