我试图使用白手起家制作一个模型解释页面,其中包含来自shap值的信息。但我不知道如何从沙普获得输出
以下是代码:
#load data & model
cat_model = pickle.load(open('cat-model.saved', 'rb'))
PREPROCESS_DIR = "preprocess-data"
X_test = pickle.load(open(PREPROCESS_DIR+'/X_test_60k.saved', 'rb'))
y_test = pickle.load(open(PREPROCESS_DIR+'/y_test_60k.saved', 'rb'))
explainer = shap.TreeExplainer(cat_model)
shap_values = explainer.shap_values(X_test)
# visualize the first prediction's explanation
shap_html = shap.force_plot(explainer.expected_value, shap_values[:1000,:], X_test.iloc[:1000,:])
# TODO: Build and run dash app
app = dash.Dash(__name__)
app.config.suppress_callback_exceptions = True
app.layout = html.Div([
html.H1('Model Explainer', style={'textAlign':'center','color':'#503D36','fontSize':'30px'}),
html.Div([shap_html], id='output-shap')
])
if __name__ == '__main__':
app.run_server(debug=True)发布于 2022-02-18 15:03:41
使用explainerdashboard库。它允许您研究形状值、置换重要性、交互效应、部分依赖图、各种性能图,甚至是随机森林中的单个决策树。
https://stackoverflow.com/questions/67054306
复制相似问题