首页 > 解决方案 > 估价时如何选择区域划分?

问题描述

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

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

标签: pythonmachine-learningregression

解决方案


在我看来,您可以从纬度/经度数据生成三种不同类型的特征:类别、聚类和距离。

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

打开街图。(免费、开源)对于 RGC:Nominatim API,请参阅 POI 和附加层的反向地理编码:Overpass API 商业 API Google Places API Foursquare API

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

当您的集群彼此相对靠近但您希望将集群很好地分离,或者当您希望将软分配创建到集群中时,GMM 非常有用。Hierarchical Clustering (),它创建集群的树状图,并允许您调整决定集群数量的阈值。时空方法:在某些情况下,您还希望将时域合并到模型中(例如,当您想检测用户在某个地方的停留/访问但忽略他们在很短的时间内访问的地方时) .

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


推荐阅读