df = pd.read_csv("data.csv")
pca = PCA(n_components=2)
df_2d = pca.fit_transform(df)
clusterer = hdbscan.HDBSCAN(min_cluster_size=1000)
clusterer.fit(df_2d)
clf = LGBMClassifier()
clf.fit(df_2d, clusterer.labels_) ###
explainer = shap.TreeExplainer(clf)
shap_values = explainer.shap_values(df_2d) ###
shap.summary_plot(shap_values, df_2d, plot_type="bar", plot_size=(15, 10)) ###
这是我的代码。它运行完美,但它返回一个带有“Feature 1”和“Feature 2”的摘要图。这完全有道理,因为我给了它一个仅包含 2 列的数据集。 但是我的问题是,我怎么能让它解释基于原始数据的决策树的决策?
我已经尝试过这个代码,它运行没有错误,但我不确定我是否正确使用它。 (不同的是我在分类器和shap中把所有的df_2d都改成了原来的df)
df = pd.read_csv("data.csv")
pca = PCA(n_components=2)
df_2d = pca.fit_transform(df)
clusterer = hdbscan.HDBSCAN(min_cluster_size=1000)
clusterer.fit(df_2d)
clf = LGBMClassifier()
clf.fit(df, clusterer.labels_) ###
explainer = shap.TreeExplainer(clf)
shap_values = explainer.shap_values(df) ###
shap.summary_plot(shap_values, df, plot_type="bar", plot_size=(15, 10)) ###
感谢您的时间和帮助!