报错整理: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)
 in 
----> 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了 

你可能感兴趣的:(其他,sklearn)