如何选择区域划分进行房价估算?

时间:2019-01-20 16:10:29

标签: python machine-learning regression

我正在开发一个python脚本,旨在使用回归模型(特别是我使用多项式回归)来预测房价。我用于训练模型的功能包括:

  • 房间数
  • 平方米
  • 浴室数量
  • 如果有露台
  • 如果有阳台
  • 纬度
  • 经度
  • 区域

区域是具有大约200个值的名义属性。这是一个重要的属性,因为房屋价格随区域而异,有一个区域较贵。 我的问题是,我应该仅使用纬度和经度,还是可以使用以二进制格式转换的区域来获得良好的回归结果?

1 个答案:

答案 0 :(得分:0)

我认为可以通过经纬度数据生成三种不同类型的要素:类别,聚类和距离。

类别:将每个记录变成一个或多个类别。类别可以是国家,城市,兴趣点(POI)或不同的地理空间层。通常,这称为反向地理编码(RGC)或POI提取

OpenStreetMap。 (免费,开源) 对于RGC:Nominatim API,请参阅反向地理编码 对于POI和其他层:超越API 商业API Google Places API Foursquare API

集群:在某些情况下,您可能希望相对于其他点来处理地图上的点。因此,首先要对点进行聚类,然后将聚类ID分配为要素集中的分类要素。一些方法: DBSCAN是一种基于接近度/密度对点进行聚类的聚类方法,对异常值具有鲁棒性。

GMM,当您的群集彼此相对较近,但您希望将它们很好地分离到群集中,或者要在群集中创建软分配时,GMM很好。 分层聚类(),它创建聚类的树状图,并允许您调整确定聚类数量的阈值。 时空方法:在某些情况下,您也希望将时域也纳入模型中(例如,当您要检测某个位置的用户的停留/访问,而忽略他们在很短时间内访问的位置时)

您可以提取的第三种要素类型是距离:从一个点到下一个点的距离,到一个固定点的距离(例如,原点),这一切都取决于您的上下文。可行的距离公式为Haversine distance(),假设地球是一个球体而不是平坦的,它可以计算距离。