侧边栏壁纸
  • 累计撰写 35 篇文章
  • 累计创建 16 个标签
  • 累计收到 2 条评论

目 录CONTENT

文章目录

【Python】两个特定特征之间的SHAP交互作用值

xlove
2023-07-06 / 0 评论 / 0 点赞 / 560 阅读 / 159 字
import pandas as pd
import numpy as np
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
import shap
import matplotlib.pyplot as plt

data = pd.read_csv('Book1_jizhi.csv')
X = data.iloc[:, :-1]
y = data.iloc[:, -1]

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

model = RandomForestRegressor()
model.fit(X_train, y_train)

explainer = shap.TreeExplainer(model)  # 使用TreeExplainer
shap_interaction_values = explainer.shap_interaction_values(X_test)  # 计算SHAP交互作用值

#请确保将"feature1"和"feature2"替换为你要计算交互作用的特征列名称
feature1_index = X_test.columns.get_loc("LST2000")
feature2_index = X_test.columns.get_loc("ROAD2000")

shap.dependence_plot((feature1_index, feature2_index), shap_interaction_values, X_test)

plt.show()

0

评论区