【特征工程】处理经纬度的9种方法/技巧(转载)

转载加修改:Feature engineering: all I learnt about Geo-spatial features

1. 极坐标法

Add two new features of Polar coordinates to the dataset

在这里插入图片描述
x = Longitude;
y = Latitude

rot_x = x * cosθ + y * sinθ
rot_y = x * sinθ - y * cosθ

2. Add 4 new features of rotational Cartesian coordinates

def rotation(data):
  '''
  # most frequently used degrees are 30,45,60
  input: dataframe containing Latitude(x) and Longitude(y)
  '''
  rot_45_x = (0.707 * data['x']) + (0.707 * data['y'])
  rot_45_y = (0.707 * data['y']) + (0.707 * data['x'])
  rot_30_x = (0.866 * data['x']) + (0.5 * data['y'])
  rot_30_y = (0.866 * data['y']) + (0.5 * data['x'])
  return rot_45_x, rot_45_y, rot_30_x, rot_30_y

目的:给树模型更多的空间特征信息。可以从不同的视角可视化坐标。还可以通过主成分分析(PCA)进行转换。

3.Haversine distance:

Haversine distance计算的是给定经度和纬度的球面上任意两点之间的大圆距离。它是三角学的一个组成部分,主要用于导航技术。在我们的例子中,我们必须将点转换为弧度度量,并输入地球的平均半径来计算两个点之间的距离。

def haversine_dist(lat1,lng1,lat2,lng2):
  lat1, lng1, lat2, lng2 = map(np.radians, (lat1, lng1
  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值