Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 导入错误:无法导入名称';安全索引&x27;从';sklearn.utils';_Python_Scikit Learn - Fatal编程技术网

Python 导入错误:无法导入名称';安全索引&x27;从';sklearn.utils';

Python 导入错误:无法导入名称';安全索引&x27;从';sklearn.utils';,python,scikit-learn,Python,Scikit Learn,每当我尝试运行以下代码行时-从IMBRearn.under_sampling import NearMiss 对于Jupyter笔记本上的欠采样(或过采样)不平衡数据,我得到以下错误: ''' --------------------------------------------------------------------------- ImportError回溯(最近一次呼叫最后一次) 在里面 ---->1从IMBRearn.under_采样导入未遂事件 ~\anaconda3\lib\

每当我尝试运行以下代码行时-从IMBRearn.under_sampling import NearMiss 对于Jupyter笔记本上的欠采样(或过采样)不平衡数据,我得到以下错误:

'''

---------------------------------------------------------------------------
ImportError回溯(最近一次呼叫最后一次)
在里面
---->1从IMBRearn.under_采样导入未遂事件
~\anaconda3\lib\site packages\imblearn\在\u sampling\\uuuu init\uuuuuuuu.py中
4 """
5.
---->6从.\u原型\u生成导入簇质心
7.
8从._原型_选择导入随机下采样器
~\anaconda3\lib\site packages\imblearn\在\u sampling\\u prototype\u generation\\u init\u.py下
4 """
5.
---->6从._群集_质心导入群集质心
7.
8 uuu所有uuu=['ClusterCentroids']
~\anaconda3\lib\site packages\imblearn\在\u sampling\\u prototype\\u generation\\u cluster\u centroids.py中
15从sklearn.cluster导入KMeans
16从sklearn.neights导入近邻
--->17从sklearn.utils导入安全索引
18
19从..基本导入BaseUnderSampler
ImportError:无法从“sklearn.utils”(C:\Users\anaconda3\lib\site packages\sklearn\utils\\uuu init\uuu.py)导入名称“安全索引”

“”“

对于IMBRearn.u采样,是否尝试重新安装程序包?:

pip install imbalanced-learn
康达:

conda install -c conda-forge imbalanced-learn
在jupyter笔记本中:

import sys
!{sys.executable} -m pip install <package_name>

编辑..\Anaconda3\Lib\site packages\sklearn\utils\init.py

复制定义安全索引。。。直到下星期。并将重命名后的代码粘贴到def safe_索引

保持以前的索引保持不变


它解决了问题。

我是否将软件包名称的scikit learn放在:!{sys.executable}-m pip安装?我试着这么做,但我一直收到一个错误,它说:命令的语法不正确。它可以是任何包名,我建议先用不平衡学习来尝试(!{sys.executable}-m pip install unbalanced learn),你可以从这里检查这个包的依赖项。我还为sklearn做了一个编辑,因为我看到他们改变了公共/私有API。希望它能解决您的问题。谢谢您的帮助!即使在显示了错误消息之后,jupyter笔记本的代码仍然有效!
import sys
!{sys.executable} -m pip install <package_name>
try:
    from sklearn.utils import safe_indexing
except ImportError:
    from sklearn.utils import _safe_indexing