首页 > 解决方案 > 具有未缩放特征值的python pdpbox图

问题描述

我正在尝试为多层感知器分类器绘制部分依赖和 ICE 图。我正在使用 UCI 成人数据集。我已经对分类特征进行了标签编码并缩放了整个数据帧,然后对缩放的数据帧执行了测试训练拆分。

现在,当我尝试绘制 PDP 和 ICE 图时,我得到了按比例缩放的年龄值(图 X 轴中的列),因此无法理解。我希望年龄值是在对数据执行缩放之前的原始值。我怎样才能做到这一点?

这是地块的代码:

from pdpbox import pdp, info_plots
pdp_age = pdp.pdp_isolate(model=mlp, dataset=X_train, model_features=X_train.columns, feature='Age')
#PDP Plot
fig, axes = pdp.pdp_plot(pdp_age, 'Age', plot_lines=False, center=False, frac_to_plot=0.5, plot_pts_dist=True,x_quantile=True, show_percentile=True)
#ICE Plot
fig, axes = pdp.pdp_plot(pdp_age, 'Age', plot_lines=True, center=False, frac_to_plot=0.5, plot_pts_dist=True,x_quantile=True, show_percentile=True)

特征时代的 PDP

您可以从图中看到无法理解年龄值,我希望年龄值处于其真实形式。我怎样才能做到这一点 ?

标签: python-3.xplot

解决方案


我能够通过使用 Pipeline 对象来解决上述问题。我对分类变量使用了一种热编码,然后将缩放和分类器操作推送到 Pipeline 对象中。然后,我能够使用编码的 X_train 对部分依赖图没有任何问题,并且我得到了我正在寻找的实际年龄值范围。


推荐阅读