ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘

在使用mean_absolute_percentage_error时,导入模块报错

from sklearn.metrics import mean_absolute_percentage_error

报错信息:

ImportError: cannot import name 'mean_absolute_percentage_error' from 'sklearn.metrics'(/root/anaconda3/lib/python3.7/site-packages/sklearn/metrics/__init__.py)

原因:

在保证sklearn包安装的情况下,问题出现在源脚本,metric文件夹中mean_absolute_percentage_error所归属的_regression.py文件中,没有mean_absolute_percentage_error函数,源脚本代码漏写。

解决办法:

  1. 找到自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics\_regression.py文件;

  2. 从sklearn的GitHub源码中
    https://github.com/scikit-learn/scikit-learn/blob/2beed5584/sklearn/metrics/_regression.py#L197,找到mean_absolute_percentage_error这部分的脚本,将其拷贝到_regression.py文件中;

  3. 在自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics文件夹中,找到__init__.py文件,做以下操作:

  • 增加一行
from ._regression import mean_absolute_percentage_error

ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘_第1张图片

  • 添加包名称到__all__中
    ImportError: cannot import name ‘mean_absolute_percentage_error‘ from ‘sklearn.metrics‘_第2张图片
    这样问题就解决啦!

你可能感兴趣的:(问题解决记录,人工智能,机器学习)