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()
版权归属:
xlove
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区