Python 3.x SKLearn 0.20.2-随机PCA导入错误?
我正在尝试做Udacity迷你项目,我已经安装了最新版本的SKLearn库(20.2) 当我跑步时:Python 3.x SKLearn 0.20.2-随机PCA导入错误?,python-3.x,scikit-learn,pip,installation,decomposition,Python 3.x,Scikit Learn,Pip,Installation,Decomposition,我正在尝试做Udacity迷你项目,我已经安装了最新版本的SKLearn库(20.2) 当我跑步时: from sklearn.decomposition import RandomizedPCA 我得到一个错误: ImportError:无法从“sklearn.decomposition”(/Users/kintesh/Documents/udacity\u ml/python3/venv/lib/python3.7/site packages/sklearn/decomposition/\
from sklearn.decomposition import RandomizedPCA
我得到一个错误:
ImportError:无法从“sklearn.decomposition”(/Users/kintesh/Documents/udacity\u ml/python3/venv/lib/python3.7/site packages/sklearn/decomposition/\uu____.py)导入名称“RandomizedPCA”)
实际上,我甚至使用以下方法升级了该版本:
pip3安装-U scikit学习
它从0.20.0
升级到0.20.2
,还卸载并重新安装了。。。所以我不确定为什么它不能初始化sklearn.decomposition
这里有没有任何解决方案可能不会导致从我的机器上完全卸载python3?!我希望避免这种情况
任何帮助都将不胜感激
编辑:
我正在做一些挖掘并试图修复这个问题,它看起来好像SKLearn GitHub上分解库中的\uuuu init\uuuuuuuuuupy
文件没有引用随机PCA
。。。它被移除了吗
事实证明,RandomizePCA()
在旧版本的SKLearn中被贬值,只是PCA()中的一个参数
您可以通过将import语句更改为:
from sklearn.decomposition import PCA as RandomizedPCA
。。。然后,您的分类器如下所示:
pca = RandomizedPCA(n_components=n_components, svd_solver='randomized', whiten=True).fit(X_train)
但是,如果您在这里是因为您在Eigenfaces.py
上学习Udacity机器学习课程,您会注意到PIL
库也被弃用
不幸的是,我没有解决这个问题的方法,但是,我有一个善良的灵魂,当这些存储库工作时,他用Jupyter笔记本解决了他们的小项目
我希望这会有所帮助,并为下一个人进入机器学习提供足够的信息。如果我有时间,我可能会尝试重新编写SKLearn 0.20.2
的eigenfaces.py
,但现在我只想继续这门课程的其余部分。除了@Aaraeus所说的以外,PIL库
已经被分给枕头
。
您可以使用以下命令修复PIL
导入错误
pip3 install pillow