如何使用scikit learn在python中对向后气团轨迹进行聚类?

如何使用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,

我想把从拉格朗日轨道模型计算出来的气团的后向轨迹进行聚类。我得到了两个维度为经度和纬度的数组(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, 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_特征)