20种经纬度特征工程

1 两个经度/纬度的相减

使用相邻经度进行相减,相邻纬度相减,类似于经纬度的绝对变化特征

def lat_diff(lat1, lat2): 
    return lat1 - lat2
def lat_absdiff(lat1, lat2): 
    return abs(lat1 - lat2)
def lng_diff(lng1, lng2): 
    return lng1 - lng2
def lng_absdiff(lng1, lng2): 
    return abs(lng1 - lng2)
2 两个经度/纬度的相除

计算两个经度或者纬度的相除,减法如果是绝对特征,那么相除可以认为是相对特征

def lat_ratio(lat1, lat2): 
    return lat2 / lat1

def lgn_ratio(lgn1, lgn2): 
    return lgn2 / lgn1
3 经纬度相除

计算经纬度的相除的特征,类似于斜度计算

def lng_lat_ratio(lat1,lng1): 
    return lng1 / lat1

def lat_lng_ratio(lgn1, lgn2): 
    return lat1 / lgn1
4 两个经纬度的欧几里得距离计算

计算两个经纬度之间的欧几里得距离

def euclidean_distance(lat1, lng1, lat2, lng2): 
    return np.sqrt((lat1 - lat2) ** 2 + (lng1 - lng2) ** 2)
5 两个经纬度的Manhattan距离计算

计算两个经纬度之间的Manhattan距离

def manhattan_distance(lat1, lng1, lat2, lng2): 
    return abs(lat1 - lat2)  + abs(lng1 - lng2)
6 经纬度与斜边的比例特征

类似于三角形中两个直角边与斜边的比例信息

def lat_lng_hypotenuse_ratio(lat1, lng1): 
    hypotenuse = np.sqrt((lat1 ** 2 +  lng1 ** 2))
    return lat1 /  hypotenuse, lng1/  hypotenuse
7 基于经纬度的聚类1

基于经纬度进行聚类,将经纬度聚类的结果当做特征,例如常用的Kmeans。
此处我们用1表示,在第二部分我们会介绍升级版

from sklearn.cluster import MiniBatchKMeans
coords = np.vstack((train[['pickup_latitude', 'pickup_longitude']].values,
                    train[['dropoff_latitude', 'dropoff_longitude']].values,
                    test[['pickup_latitude', 'pickup_longitude'
  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MATLAB是一广泛应用于科学、工程和技术领域的计算工具。要利用MATLAB进行导航经纬度的模拟,我们可以使用其内置的地理信息工具箱。 首先,我们需要将经纬度数据加载到MATLAB中。可以通过将经纬度数据存储在适当的文件格式(例如CSV)中,并使用MATLAB的读取函数(例如csvread)将其导入到MATLAB工作环境中。 接下来,我们可以使用地理信息工具箱中的函数来处理和分析这些经纬度数据。例如,可以使用该工具箱中的函数来计算经纬度之间的距离、方位角、航向角等等。 如果要进行导航的模拟,可以根据已知的起点和终点经纬度,使用地理信息工具箱中的路线规划函数来计划导航路线。例如,可以使用该工具箱中的函数来计算最短路径、最佳路径等。 在模拟导航过程中,还可以使用MATLAB绘图函数来可视化导航结果。例如,可以使用地理信息工具箱中的函数来绘制地图,并在地图上标记起点、终点和导航路径。 最后,我们可以利用MATLAB的仿真功能来模拟实际导航情况下的导航结果。例如,可以使用MATLAB的循环和条件语句来模拟导航过程中的动态变化,如航向角的调整和位置更新等。 综上所述,MATLAB可以通过其内置的地理信息工具箱来模拟导航经纬度。通过加载经纬度数据、处理和分析数据、进行路线规划、绘制地图和进行仿真等步骤,我们可以使用MATLAB来模拟导航经纬度的情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值