![](/img/trans.png)
[英]ImportError: cannot import name 'available_if' from 'sklearn.utils.metaestimators'
[英]Cannot import name 'available_if' from 'sklearn.utils.metaestimators'
导入“from imblearn.over_sampling import SMOTE”时,出现导入错误。 请检查并帮助。 我尝试升级 sklearn,但升级因“OSError”而取消。 首先通过 pip 安装不平衡学习。
!pip install -U imbalanced-learn
使用 jupyter 笔记本
Windows 10
sklearn 版本 - 0.24.1
numpy 版本 - 1.19.5
-------------------------------------------------------------------------- ImportError Traceback (most recent call last)
在----> 1 from imblearn.over_sampling import SMOTE
~\anaconda3\lib\site-packages\imblearn_ init _.py 中的 35 种导入类型 36 ---> 37 来自。 进口结合 38 从。 从导入合奏 39。 导入例外
~\anaconda3\lib\site-packages\imblearn\ combine_init _.py in 3 """ 4 ----> 5 from._smote_enn import SMOTEENN 6 from._smote_tomek import SMOTETomek 7
~\anaconda3\lib\site-packages\imblearn\combine_smote_enn.py in 8 from sklearn.utils import check_X_y 9 ---> 10 from..base import BaseSampler 11 from..over_sampling import SMOTE 12 from..over_sampling.base import BaseOverSampler
~\anaconda3\lib\site-packages\imblearn\base.py in 13 from sklearn.utils.multiclass import check_classification_targets 14 ---> 15 from.utils import check_sampling_strategy, check_target_type 16 from.utils._validation import ArraysTransformer 17 from.utils ._validation 导入 _deprecate_positional_args
~\anaconda3\lib\site-packages\imblearn\utils_ init _.py in 5 from._docstring import Substitution 6 ----> 7 from._validation import check_neighbors_object 8 from._validation import check_target_type 9 from._validation import check_sampling_strategy
~\anaconda3\lib\site-packages\imblearn\utils_validation.py in 14 from sklearn.base import clone 15 from sklearn.neighbors._base import KNeighborsMixin ---> 16 from sklearn.neighbors import NearestNeighbors 17 from sklearn.utils import column_or_1d 18 从 sklearn.utils.multiclass 导入 type_of_target
~\anaconda3\lib\site-packages\sklearn\neighbors_init _.py in 14 from._nearest_centroid import NearestCentroid 15 from._kde import KernelDensity ---> 16 from._lof import LocalOutlierFactor 17 from._nca import NeighborhoodComponentsAnalysis 18 from._base导入 VALID_METRICS、VALID_METRICS_SPARSE
~\anaconda3\lib\site-packages\sklearn\neighbors_lof.py in 10 from..base import OutlierMixin 11 ---> 12 from..utils.metaestimators import available_if 13 from..utils.validation import check_is_fitted 14 from..实用程序导入 check_array
ImportError:无法从“sklearn.utils.metaestimators”导入名称“available_if”(C:\Users\dks_m\anaconda3\lib\site-packages\sklearn\utils\metaestimators.py)
如果在 jupyter 中,重新启动 kernel。这已修复!
我相信问题在于 scikit-learn 的 python 版本。 我能够通过重新安装 Python3 版本来解决:
pip uninstall scikit-learn -y
pip3 install scikit-learn
记得在 package 更新后重启终端/笔记本。
这给了我scikit-learn v1.0.2
解决了 Python3 中的错误
尝试使用 anaconda prompt 进行安装。 这个对我有用。
这通常发生在 2 个不同版本的软件包不匹配时。 如果您使用的是 jupyter notebook,重新启动您的环境将解决您的问题。
美好的一天。 帮助我的是同时安装 pycaret=='2.3.10 ' 和 scikit-learn='0.23.2' 。 这两个版本是兼容的,一切正常。 我使用 conda 安装了 scikit-learn,因为旧版本无法通过 pip 获得,我使用 pip3 安装了 Pycaret。 我希望这可以帮助所有像我一样努力实现这项工作的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.