使用分类功能构建回归

时间:2017-01-10 23:53:46

标签: machine-learning

我试图用房价预测作为学习机器学习的实际例子。目前我遇到了关于邻里的问题。

对于大多数机器学习示例,我看到了诸如卧室数量,占地面积,土地面积等功能。直观地说,这些特征与房价有很强的相关性。然而,邻居并非如此。让我们说我随机地为每个社区分配一个neighborhood_id。我不能告诉附近房屋100的房屋价格高于或低于邻居房屋价格53.

我想知道是否需要进行一些数据预处理,例如找到每个邻域的平均价格然后使用已处理的数据,还是现有的机器学习算法可以找出看似无关的特征之间的关系?

1 个答案:

答案 0 :(得分:3)

我假设您试图在具有连续和分类数据的回归模型中解释邻域和住房价格之间的关系。根据我的记忆,R使用单热编码自动处理分类变量。

有一些方法可以通过从分类变量创建数据抽象来解决这个问题:

1)单热编码

假设您正在尝试从楼面面积和社区预测住房价格。假设占地面积是连续的,邻域是分类的,有3个可能的邻域,即A,B和C.一种可能性是将邻域编码为单热矢量,并将每个分类变量视为新的二元变量:

neighborhood A B C
     A       1 0 0
     B       0 1 0 
     B       0 1 0
     C       0 0 1

回归模型类似于:

y = c0*bias + c1*floor_space + c2*A + c3*B + c4*C

请注意,此邻域变量类似于回归模型中的偏差。每个邻域的系数可以解释为邻域的“偏差”。

2)从分类到连续

让Dx和Dy调用从所有邻域到地图上固定点的水平和垂直距离。通过这样做,您可以创建一个数据抽象,将邻域(一个分类变量)转换为两个连续变量。通过这样做,您可以将房价与固定点的水平和垂直距离相关联。

请注意,只有从分类到连续的转换才有意义时才适用。