如何根据分类输入变量可视化(绘制)回归输出?

时间:2015-12-10 04:27:17

标签: matplotlib machine-learning regression linear-regression categorical-data

我正在使用多个变量进行线性回归。在我的数据中,我有 n = 143 功能和 m = 13000 训练示例。我的一些功能是连续(序数)变量(面积,年份,房间数)。但我也有分类变量(区,颜色,类型)。现在,我根据预测的价格想象了一些我的特色。例如,这里是area与预测price的关系图: enter image description here

由于area是连续的序数变量,因此我没有麻烦可视化数据。但是现在我想以某种方式想象我的分类变量(例如区)对预测价格的依赖性。 对于分类变量,我使用了单热(虚拟)编码。
例如那种数据:
enter image description here

转向此格式: enter image description here

如果我以这种方式对区进行序数编码:

DistrictA - 1
DistrictB - 2
DistrictC - 3
DistrictD - 4
DistrictE - 5

我将这个值与预测价格相比较,通过将1-5指向X轴并将价格设置为Y轴,可以很容易地绘制这些值。

但我使用虚拟编码,现在我不知道如何显示(可视化)价格和分类变量“区域”之间的依赖关系,表示为零和一系列。

在使用虚拟编码的情况下,如何制作显示区域回归线与预测价格的图表?

1 个答案:

答案 0 :(得分:1)

如果您只是想知道不同地区对预测的影响程度,您可以直接查看训练后的系数。高theta表示该区域增加了价格。

如果要绘制此图,一种可能的方法是根据设置的区域制作带有x坐标的散点图。 像这样(未经测试):

plot.scatter(0, predict(data["DistrictA"==1]))
plot.scatter(1, predict(data["DistrictB"==1]))

等等。 (可能需要提供与过滤数据向量大小相同的x向量。) 如果你可以在x坐标上添加一个轻微的随机扰动,它看起来会更好。