正如您在 SHAP 瀑布图中看到的值为零,原因是什么?零值合理吗?
这是我的数据的链接: https://github.com/kilickursat/Tunnelling/blob/main/TBM_Performance.xlsx
这是我的代码:
import numpy as np
import pandas as pd
import lightgbm
from sklearn.metrics import r2_score, mean_squared_error as MSE
from lightgbm import LGBMRegressor
import shap
import io
df2 = pd.read_excel(io.BytesIO(uploaded['TBM_Performance.xlsx'])) #Colab used
df2["ROCK_PRO"] = df2["UCS(MPa)"] / df2["BTS(MPa)"]
X = df2[["UCS(MPa)", "BTS(MPa)","Fs(m)","Alpha(degree)","PI(kN/mm)","ROCK_PRO"]]
y = df2[["ROP(m/hr)"]]
print(df2)
print(X,y)
hyper_params = {
'task': 'train',
'boosting_type': 'goss',
'objective': 'regression',
'metric': "mse"
}
# train an LightGBM model
model = lightgbm.LGBMRegressor(**hyper_params).fit(X, y)
explainer = shap.Explainer(model)
# visualize the first prediction's explanation …Run Code Online (Sandbox Code Playgroud)