【问题标题】:What's the best way of using gps coordinate in regression model在回归模型中使用 gps 坐标的最佳方法是什么
【发布时间】:2018-10-29 14:43:22
【问题描述】:

在我的数据集中,我有两列以十进制表示的纬度和经度,我想将数据拟合到回归模型以进行价格预测。我想知道我应该对这两列进行什么样的数据转换?是否可以仅将给定的十进制值拟合到模型或需要转换?

我尝试使用 python geopandas 将它们转换为分类变量,但我的训练和测试中不匹配的分类变量不允许我拟合模型。

【问题讨论】:

    标签: python geolocation latitude-longitude transformation geopandas


    【解决方案1】:

    您需要k-nearest neighbors (kNN) 算法,尤其是kNN regression

    Scikit-learn 有两个kNN regression 的实现:

    但值得注意的是使用haversine distance作为距离度量的重要性,它“根据经度和纬度确定球体上两点之间的大圆距离”,即使用地球的半径。

    此外,python 和 scikit-learn 期望弧度超过度数(纬度/经度),因此必须首先转换您的值。

    一个基本的例子如下:

    from math import radians
    from sklearn.neighbors import KNeighborsRegressor
    from sklearn.model_selection import train_test_split
    
    dat['Latitude'] = dat['Latitude'].apply(radians)
    dat['Longitude'] = dat['Longitude'].apply(radians)
    
    X = dat[['Latitude', 'Longitude']].values
    y = dat['Price'].values
    
    X_train, X_test, y_train, y_test \
      = train_test_split(X, y, test_size=0.25)
    
    nbrs = KNeighborsRegressor(weights='distance', metric='haversine')
    
    nbrs.fit(X_train, y_train)
    
    y_pred = nbrs.predict(X_test)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-29
      • 2018-10-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多