如何使用scikit learn在python中对向后气团轨迹进行聚类?
我想把从拉格朗日轨道模型计算出来的气团的后向轨迹进行聚类。我得到了两个维度为经度和纬度的数组(btime,n_轨迹),换句话说,每列代表一条轨迹,然后行是沿着轨迹向后退的步骤如何使用scikit learn在python中对向后气团轨迹进行聚类?,python,scikit-learn,cluster-analysis,Python,Scikit Learn,Cluster Analysis,我想把从拉格朗日轨道模型计算出来的气团的后向轨迹进行聚类。我得到了两个维度为经度和纬度的数组(btime,n_轨迹),换句话说,每列代表一条轨迹,然后行是沿着轨迹向后退的步骤 >lons.values >>数组([[104.1399104.1433104.1303,…,104.2121104.2706104.3595], [103.5203, 103.2497, 103.0526, ..., 104.3539, 104.3836, 104.2003], [102.106 , 101.7003,
>lons.values
>>数组([[104.1399104.1433104.1303,…,104.2121104.2706104.3595],
[103.5203, 103.2497, 103.0526, ..., 104.3539, 104.3836, 104.2003],
[102.106 , 101.7003, 101.5043, ..., 103.9307, 103.58 , 103.3219],
...,
[ 63.5798, 61.8785, 61.8204, ..., 60.0619, 61.8709, 62.4074],
[ 62.4508, 60.7289, 60.384 , ..., 59.3154, 61.0027, 61.6659],
[ 61.3527, 59.5736, 58.9076, ..., 58.6506, 60.1764, 60.959 ]])
>>纬度值
>>数组([[36.4157,36.4552,36.5194,…,36.0645,36.1442,36.3887],
[37.6535, 37.8779, 37.9933, ..., 36.6376, 37.1204, 37.4366],
[38.8146, 39.0056, 39.1017, ..., 37.6859, 38.16 , 38.3216],
...,
[43.4076, 42.6365, 42.3904, ..., 43.6338, 43.4244, 42.9203],
[43.2952, 42.5611, 42.3417, ..., 43.6123, 43.3818, 42.8655],
[43.2692, 42.5213, 42.3315, ..., 43.5674, 43.3433, 42.8375]])
我发现了这个R包,它执行这种集群()。哪一个首先计算
每个轨迹的总欧几里德距离,然后将这些距离作为pam(围绕medoid划分)函数的输入,以将轨迹分组为k个簇
关于如何在python中进行类似的聚类分析,有什么建议吗
我目前的尝试是使用scikit learn()中的KMeans,使用自适应方法对轨迹进行聚类,该方法从多个簇开始,然后依次合并两个最近的簇质心,以找到最佳簇数。但我认为我没有正确地使用它,因为我如何提供轨迹数据是通过首先将LON和LAT堆叠在一起,然后将其重塑为一系列形状(n_轨迹,n_时间*2),因为KMeans需要输入数据来获得形状(n_样本,n_特征)