报错整理:ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了报错整理:ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘相关的知识,希望对你有一定的参考价值。

1 问题描述

使用

from sklearn.metrics import mean_absolute_percentage_error
y_true = [3, -0.5, 2, 7]
y_pred = [2.5, 0.0, 2, 8]
mean_absolute_percentage_error(y_true, y_pred)

的时候,报以下错误’

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-34105c3fc0d6> in <module>
----> 1 from sklearn.metrics import mean_absolute_percentage_error
      2 y_true = [3, -0.5, 2, 7]
      3 y_pred = [2.5, 0.0, 2, 8]
      4 mean_absolute_percentage_error(y_true, y_pred)

ImportError: cannot import name 'mean_absolute_percentage_error' from 'sklearn.metrics' (c:\\users\\16000\\appdata\\local\\programs\\python\\python37\\lib\\site-packages\\sklearn\\metrics\\__init__.py)

问题出在源脚本。发现metric文件夹中mean_absolute_percentage_error所归属的_regression.py文件中,没有mean_absolute_percentage_error函数

2 解决方法

  • 从sklearn的GitHub源码中 ,把mean_absolute_percentage_error这部分的脚本拷贝到自己电脑安装sklearn包的_regression.py文件中

scikit-learn/_regression.py at 2beed55847ee70d363bdbfe14ee4401438fba057 · scikit-learn/scikit-learn · GitHub

  • 在自己电脑安装sklearn包的Lib\\site-packages\\sklearn\\metrics文件夹中,找到__init__.py文

    件,增加一行 

    from ._regression import mean_absolute_percentage_error

然后就ok了 

以上是关于报错整理:ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘的主要内容,如果未能解决你的问题,请参考以下文章

Python运行Queue报错ImportError: cannot import name 'Empty'

Python语言importError:cannot import name 'InvalidArgumentException'报错的解决方法:

python使用scipy.misc import imread报错:ImportError: cannot import name imread

pip升级报错 ImportError: cannot import name 'main'

python使用scipy.misc import imread报错:ImportError: cannot import name imread

python 运行脚本报错 from keyword import iskeyword as _iskeyword ImportError: cannot import name iskeyword