在使用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函数,源脚本代码漏写。
解决办法:
-
找到自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics\_regression.py文件;
-
从sklearn的GitHub源码中
https://github.com/scikit-learn/scikit-learn/blob/2beed5584/sklearn/metrics/_regression.py#L197,找到mean_absolute_percentage_error这部分的脚本,将其拷贝到_regression.py文件中;
-
在自己电脑安装sklearn包的Lib\site-packages\sklearn\metrics文件夹中,找到__init__.py文件,做以下操作:
from ._regression import mean_absolute_percentage_error
-
添加包名称到__all__中
这样问题就解决啦!