我正在使用多个变量进行线性回归。在我的数据中,我有 n = 143 个特征和 m = 13000 个训练示例。我的一些特征是连续(序数)变量(面积、年份、房间数量)。但我也有分类变量(地区、颜色、类型)。现在,我根据预测的价格可视化了我的一些功能。例如,这里是 area
的情节与预测相反price
:
自 area
是连续序数变量我在可视化数据时没有遇到任何麻烦。但现在我想以某种方式可视化我的分类变量(例如地区)对预测价格的依赖性。
对于分类变量,我使用了 one-hot(虚拟)编码。
例如那种数据:
如果我以这种方式对地区使用序数编码:
DistrictA - 1
DistrictB - 2
DistrictC - 3
DistrictD - 4
DistrictE - 5
通过将 1-5 放在 X 轴上,将价格放在 Y 轴上,我可以很容易地根据预测价格绘制该值。
但我使用了虚拟编码,现在我不知道如何显示(可视化)价格和表示为一系列零和一的分类变量“地区”之间的依赖关系。
在使用虚拟编码的情况下,如何绘制显示地区相对于预测价格的回归线的图?
最佳答案
如果您只是想知道不同地区对您的预测的影响有多大,您可以直接查看训练系数。 Theta 值较高表示该地区的价格上涨。
<小时/>如果您想绘制此图,一种可能的方法是根据设置的区域制作 x 坐标的散点图。 像这样的东西(未经测试):
plot.scatter(0, predict(data["DistrictA"==1]))
plot.scatter(1, predict(data["DistrictB"==1]))
等等。 (可能您需要提供与过滤后的数据向量大小相同的 x 向量。) 如果您可以向 x 坐标添加轻微的随机扰动,它看起来会更好。
关于matplotlib - 如何根据分类输入变量可视化(绘制)回归输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34193685/