SKLearn 0.20.2-RandomizedPCA导入错误?

Aar*_*eus 8 install pip decomposition python-3.x scikit-learn

我正在尝试执行Udacity mini项目,并且已经安装了最新版本的SKLearn库(20.2)。

当我跑步时:

from sklearn.decomposition import RandomizedPCA
Run Code Online (Sandbox Code Playgroud)

我得到错误:

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.00.20.2,也已卸载并重新安装...所以我不确定为什么它无法初始化sklearn.decomposition

这里有什么解决方案可能不会导致从我的机器上完全卸载python3吗?希望避免这种情况。

任何帮助将不胜感激!

编辑:

我正在做一些挖掘并尝试修复此问题,似乎好像SKLearn GitHub上库中的__init__.py文件decomposition未引用RandomizedPCA...是否已将其删除?

链接到GitHub页面

Aar*_*eus 18

事实证明,它RandomizePCA()在旧版本的SKLearn中已弃用,并且只是中的一个参数PCA()

您可以通过将import语句更改为以下内容来解决此问题:

from sklearn.decomposition import PCA as RandomizedPCA
Run Code Online (Sandbox Code Playgroud)

...然后您的分类器如下所示:

pca = RandomizedPCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)
Run Code Online (Sandbox Code Playgroud)

但是,如果您因为正在上进行Udacity机器学习课程而在这里Eigenfaces.py,则会注意到该PIL库也已弃用。

不幸的是,我没有针对该解决方案的解决方案,但这是GitHub问题页面这是一个善良的人,当这些存储库工作时,他们使用Jupyter Notebook解决了他们的小型项目。

我希望这会有所帮助,并为下一个人提供足够的信息以帮助他们学习机器学习。如果我得到了一段时间我可能会裂纹在重新编码eigenfaces.pySKLearn 0.20.2,但现在我只是要与本课程的其余破解上。