偏依赖图 - 使用缩放数据开发的模型,如何对PDP进行反缩放?
我在Python中做了一个随机森林分类器模型,现在想制作部分依赖图(PDP)。我在训练和测试模型时使用了经过缩放的数据,然后用以下代码生成了PDP:PartialDependenceDisplay.from_estimator(best_clf, X_test_final, best_features)
。不过,图表的x轴值是缩放过的,这让人很难理解。
在调用PartialDependenceDisplay
之前,如果我先把数据X_test_final
反缩放,结果也不行。有没有什么建议可以让我把x轴的值从缩放状态改成原始状态?我使用StandardScaler()
对数据进行了缩放。
1 个回答
0
把标准化的数据还原回原来的样子其实很简单。标准化数据的公式是:X' = (X - mean(X)) / std(X)
,也就是说你把数据减去平均值,然后除以标准差。要把它还原回来,只需要用这个公式:X = (X' * std(X)) + mean(X)
。
如果你只是想改变刻度标签,以便能用原始数据的尺度来理解结果,那么你只需要做类似下面的操作:
# Get the tick positions on the current axis
x_ticks = ax.get_xticks()
# Un-standardise the tick values
xt_unscaled = [(xt * x.std()) + x.mean() for xt in x_ticks]
# Format the ticks to strings (here to 1 d.p.)
xt_unscaled = [f'{xt:.1f}' for xt in xt_unscaled]
# Assign the unscaled tick values to the tick labels
# This retains the original tick positions etc, but
# lets you interpret them the way you want.
ax.set_xticklabels(xt_unscaled)
plt.show()