配置机器学习可解释框架。解决报错:ImportError: cannot import name ‘plot_partial_dependence‘ from ‘sklearn.inspection‘
·
报错1:ImportError: cannot import name ‘plot_partial_dependence‘ from ‘sklearn.inspection‘
from sklearn.inspection import plot_partial_dependence
运行以上代码时报错:
ImportError: cannot import name 'plot_partial_dependence' from 'sklearn.inspection'

将原代码改为:
from sklearn.inspection import PartialDependenceDisplay
可成功运行,不报错。
报错2:KeyError: 'values'
# 计算CFI与CDA32共同的影响
CFI_CDA32_2pd = partial_dependence(estimator=MRD_GBR_interpret, X=X, features=[(3,5)], percentiles=(0,1), grid_resolution=100, method='brute', kind='average')
CFI_CDA32_average = CFI_CDA32_2pd['average'].flatten().reshape(-1,1)
CFI_CDA32_cartesian = np.array(list(product(CFI_CDA32_2pd['values'][0], CFI_CDA32_2pd['values'][1])))
CFI_CDA32_2pd_res = pd.DataFrame(np.hstack([CFI_CDA32_cartesian, CFI_CDA32_average]), columns=['CFI', 'CDA32', 'PD'])
CFI_CDA32_2pd_res['CFI'] = CFI_CDA32_2pd_res['CFI'] * (All_MRD_ori['CFI'].max()-All_MRD_ori['CFI'].min()) + All_MRD_ori['CFI'].min()
CFI_CDA32_2pd_res['CDA32'] = CFI_CDA32_2pd_res['CDA32'] * (All_MRD_ori['CDA32'].max()-All_MRD_ori['CDA32'].min()) + All_MRD_ori['CDA32'].min()
CFI_CDA32_2pd_res['PD'] = np.exp(CFI_CDA32_2pd_res['PD']) -1
CFI_CDA32_2pd_res
运行以上代码,发生报错:

原因:sklearn 不同版本中 partial_dependence 返回的键名可能不同。例如,旧版本使用 'values' 存储特征值网格,而新版本可能改为 'grid_values'。
添加代码检查,打印返回对象的键列表:
print(CFI_CDA32_2pd.keys()) # 输出类似 ['average', 'values', ...] 或 ['grid_values', ...]
返回:
dict_keys(['grid_values', 'average'])
故将原键名改为:grid_values
即:
CFI_CDA32_cartesian = np.array(list(product(CFI_CDA32_2pd['grid_values'][0], CFI_CDA32_2pd['grid_values'][1])))
运行后成功解决,不报错。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)