期刊配图:nature cities通过ALE(累积局部效应)解析特征对模型影响

机器学习大模型数据库

picture.image

✨ 欢迎关注Python机器学习AI ✨

本节介绍: nature cities通过ALE(累积局部效应)解析特征对模型影响 。数据采用模拟数据,作者根据个人对机器学习的理解进行代码实现与图表输出,细节并不保证与原文一定相同,仅供参考。 详细数据和代码、文献将在稍后上传至交流群,付费成员可在交流群中获取下载。需要的朋友可关注公众文末提供的购买方式。 购买前请咨询,避免不必要的问题。

✨ 文献信息 ✨

picture.image

文献中使用ALE(累积局部效应)分析了不同农村土地覆盖类型对城市热岛效应(UHI)的影响,从而为城市热岛的缓解提供了数据支持和策略建议

✨ 仿图 ✨

picture.image

这里根据文献的展示方法在我们模拟数据集上应用ALE(累积局部效应)方法得到的结果,反映了不同特征(如 infC 和 infP)对模型预测的影响

✨ 基础代码 ✨

  
import pandas as pd  
import numpy as np  
import matplotlib.pyplot as plt  
plt.rcParams['font.family'] = 'Times New Roman'  
plt.rcParams['axes.unicode_minus'] = False  
import warnings  
# 忽略所有警告  
warnings.filterwarnings("ignore")  
  
path = r"2025-5-1公众号Python机器学习AI.xlsx"  
df = pd.read_excel(path)  
from sklearn.model_selection import train_test_split  
  
# 划分特征和目标变量  
X = df.drop(['y'], axis=1)    
y = df['y']    
# 划分训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(  
    X,    
    y,   
    test_size=0.3,   
    random_state=42  
)  
from sklearn.ensemble import RandomForestRegressor # 这里只是为ALE模型实现提供一个基础模型没有经过调参等  
  
# 初始化随机森林回归模型  
rf_model = RandomForestRegressor(random_state=42)  
  
# 训练模型  
rf_model.fit(X_train, y_train)  
from alepython import ale_plot  
# 对单个特征绘制ALE图  
ale_plot(rf_model, X_test, "infP", bins=50)  # 对特征 infP 进行解释  
plt.show()

picture.image

这段代码使用随机森林回归模型训练数据,并通过ALE(累积局部效应)图分析特征 "infP" 对模型预测的影响,

ALE图展示了特征 "infP" 对模型预测的累积局部效应。可以看到,随着 "infP" 的增加,模型的预测值发生了明显的变化,特别是在 "infP" 值较低时,预测值迅速下降,之后趋于平稳。这表明 "infP" 在较低值区间对预测结果有较大影响,而在更高的取值范围内,影响逐渐减弱

  
import matplotlib as mpl  
  
# 设置 matplotlib 图的默认大小为 9x6 英寸  
mpl.rc("figure", figsize=(9, 6))  
  
# 调用 ale_plot 函数绘制 Accumulated Local Effects (ALE) 图  
ale_plot(  
    rf_model,                  # 传入机器学习模型(例如训练好的回归或分类模型)  
    X_test,                      # 数据特征集,用于生成 ALE 图  
    X_test.columns[:1],          # 选择要绘制 ALE 的特征列,这里选择第一个特征列  
    bins=20,                # 将特征值分成 20 个区间(箱数)  
    monte_carlo=True,       # 启用蒙特卡罗模拟,用于增加鲁棒性  
    monte_carlo_rep=100,    # 设置蒙特卡罗模拟的重复次数为 100  
    monte_carlo_ratio=0.6,  # 设置蒙特卡罗采样比例为 60%  
)

picture.image

这段代码在原有基础上进行了优化,主要通过设置默认图形大小(9x6英寸)来改善图形的展示效果;启用了蒙特卡罗模拟并增加了模拟的重复次数(100次)和采样比例(60%),提高了ALE图的稳定性和准确性,使得代码更具灵活性和可控性,从而增强了模型解释的可靠性和可视化效果

前面的代码通过直接调用 alepython 库中的 ale_plot 函数进行了ALE图的绘制,但其功能较为简单,尚未完全达到文献中复杂且灵活的效果。接下来,我们将通过自定义更灵活的方式,调整绘图的参数和样式,从而实现与文献中类似的效果。这包括对特征值进行更细粒度的控制、优化蒙特卡罗模拟、调整图形的可视化样式,并增加更多的定制化功能,以更好地展示特征对模型预测结果的影响

  
# 单个特征的 ALE 绘图  
ale_plot(model=rf_model, train_set=X_test, features=["infC"], monte_carlo=True, save_path='infC.pdf')

picture.image

这段代码使用自定义的 ale_plot 函数绘制了特征 "infC" 的ALE图,并启用蒙特卡洛采样,图像将保存为 infC.pdf 文件

  
ale\_plot(model=rf\_model, train\_set=X\_test, features=["infP"], monte\_carlo=True, save\_path='infP.pdf')

picture.image

同理,也可以绘制其它特征的ALE累计局部效应图解释对应特征在模型中对预测结果的影响

✨ 该文章案例 ✨

picture.image

在上传至交流群的文件中,像往期文章一样,将对案例进行逐步分析,确保读者能够达到最佳的学习效果。内容都经过详细解读,帮助读者深入理解模型的实现过程和数据分析步骤,从而最大化学习成果。

同时,结合提供的免费AI聚合网站进行学习,能够让读者在理论与实践之间实现融会贯通,更加全面地掌握核心概念。

✨ 购买介绍 ✨

本节介绍到此结束,有需要学习数据分析和Python机器学习相关的朋友欢迎到淘宝店铺:Python机器学习AI,或添加作者微信deep_ML联系,购买作者的公众号合集。截至目前为止,合集已包含近300多篇文章,购买合集的同时,还将提供免费稳定的AI大模型使用,包括但不限于ChatGPT、Deepseek、Claude等。

更新的内容包含数据、代码、注释和参考资料。 作者仅分享案例项目,不提供额外的答疑服务。项目中将提供详细的代码注释和丰富的解读,帮助您理解每个步骤 。 购买前请咨询,避免不必要的问题。

✨ 群友反馈 ✨

picture.image

✨ 淘宝店铺 ✨

picture.image

请大家打开淘宝扫描上方的二维码,进入店铺,获取更多Python机器学习和AI相关的内容,或者添加作者微信deep_ML联系 避免淘宝客服漏掉信息 ,希望能为您的学习之路提供帮助!

往期推荐

Frontiers in Oncology:利用生存机器学习RSF模型预测患者预后模拟实现

因果推断:注册行为对后续消费影响的因果推断分析案例

因果推断与机器学习结合:探索酒店预订取消的影响因素

期刊配图:通过SHAP组图解读模型探索不同类型特征和分组对模型的影响

机器学习在临床数据分析中的应用:从数据预处理到Web应用实现的完整流程教学

期刊配图:一区SCI常用数据缺失率展示图可视化

Psychiatry Research基于SHAP可解释性的机器学习模型构建与评估:混淆矩阵、ROC曲线、DCA与校准曲线分析

因果推断:注册行为对后续消费影响的因果推断分析案例

nature communications:基于Light GBM与随机森林结合的多模型特征选择方法

因果推断与机器学习结合:探索酒店预订取消的影响因素

期刊配图:回归模型性能与数据分布(核密度)可视化

picture.image

如果你对类似于这样的文章感兴趣。

欢迎关注、点赞、转发~

个人观点,仅供参考

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动 XR 技术的探索与实践
火山引擎开发者社区技术大讲堂第二期邀请到了火山引擎 XR 技术负责人和火山引擎创作 CV 技术负责人,为大家分享字节跳动积累的前沿视觉技术及内外部的应用实践,揭秘现代炫酷的视觉效果背后的技术实现。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论