我正在尝试构建一个程序,以将2D坐标(纬度,经度)映射到浮点值。我有大约100万行的培训数据,例如
(41.140359, -8.612964) -> 65
... -> ...
我认为这是一个回归问题,除了我发现的所有回归示例仅使用1维,所以我不确定。
在这种情况下,我应该使用什么算法(或算法类别)?
在尝试找到函数之前,将数据绘制在Python绘图的Excel上,您可能会看到您正在寻找的功能。
此外,Excel具有回归计算模块。
这是一个回归问题,您可以自由使用,例如线性回归以解决它。这些示例通常是一维的,因此很容易理解,但是它们适用于任意数量的维度。
您可以先尝试使用线性回归。
让我们使用numpy.linalg.lstsq
:
>>> import numpy as np
>>> x = np.random.rand(10, 2)
>>> x
array([[ 0.7920302 , 0.05650698],
[ 0.76380636, 0.07123805],
[ 0.18650694, 0.89150851],
[ 0.22730377, 0.83013102],
[ 0.72369719, 0.07772721],
[ 0.26277287, 0.44253368],
[ 0.44421399, 0.98533921],
[ 0.91476656, 0.27183732],
[ 0.74745802, 0.08840694],
[ 0.60000819, 0.67162258]])
>>> y = np.random.rand(10)
>>> y
array([ 0.53341968, 0.63964031, 0.46097061, 0.68602146, 0.20041928,
0.42642768, 0.34039486, 0.93539655, 0.29946688, 0.57526445])
>>> m, c = np.linalg.lstsq(x, y)[0]
>>> print m,c
0.605269341974 0.370359070752
有关绘图以及这些值代表的更多信息,请参见文档。