I am working on project for clustering of air objects based on their trajectories. Like I would like to train a model on a dataset of different flying object's trajectories so later I can predict what type of object is based on trajectory data. Now trajectory data include 4 things (Altitude, Longitude, Latitude, and Time). So based on set of such dataset we may be able to classify objects like plane, rocket, missile, etc. What I cannot figure out is which algorithms can be used? I first thought about SVM. Later I thought "Long Short Term Memory" can be used. But I am not very sure. And I am new to machine learning. So any help is appreciated.

  • $\begingroup$ What input data to you have, 3-variable time series of latitude, longitude, and altitude at various times? $\endgroup$
    – Dave
    Mar 11, 2020 at 15:18
  • $\begingroup$ @Dave Yes exactly. $\endgroup$ Mar 11, 2020 at 15:31
  • $\begingroup$ Have a look at this competition kelvins.esa.int/collision-avoidance-challenge $\endgroup$ Apr 12, 2020 at 14:24
  • $\begingroup$ What are the classes of interest? $\endgroup$
    – Jon Nordby
    May 28, 2023 at 12:32
  • $\begingroup$ @JonNordby Classes were general flying objects like Airplanes, FIghter Jets, Helicopters, Missiles, etc. $\endgroup$ May 29, 2023 at 9:56

2 Answers 2


Depending on the amount of data, any classification algorithm can be suitable. LSTM, however, are likely to be an overkill, considering that you probably won't be having much variation in the time series for each object.

Instead of pondering about the algorithm, you'd better think of useful features you can extract from your data. My guess would be that speed, accelerations, and altitude would be most informative.

  • $\begingroup$ How well do you think SVM can come handy? I mean will that help in classifying based of trajectory as well as other features as you mentioned like speed and acc. $\endgroup$ Mar 11, 2020 at 15:53
  • $\begingroup$ It's impossible to say without knowing the data. Theoretically, SVMs are very powerful, especially when you don't have too much data (i.e. not millions of observations). On the other hand, they might be an overkill, too. I'd first take a look at the data, see how classes are distributed, whether they overlap and, if not, how far apart they are. For the start, I'd use a K-nearest-neighbors classifier. If that doesn't work, I'd try SVMs or Random Forests. Simple (not too deep) neural networks might also work, but probably not better than the former two. Deep NNs are most likely an overkill. $\endgroup$
    – Igor F.
    Mar 11, 2020 at 16:16

Regarding your consideration of Long Short-Term Memory (LSTM), it's important to note that LSTM is primarily used for sequential data prediction tasks rather than clustering. LSTM is suitable when you want to predict future trajectories or classify sequences based on their temporal dependencies. You could try some of these too:

  1. K-Means Clustering: K-Means is a popular clustering algorithm that groups data points into a specified number of clusters. It calculates the distance between data points and cluster centroids to assign them to the nearest cluster.

  2. DBSCAN: Density-Based Spatial Clustering of Applications with Noise (DBSCAN) is another clustering algorithm that groups data points based on their density. It identifies dense regions separated by sparser areas. DBSCAN can be useful if your data has varying densities or if you want to identify outliers or noise in the trajectories.

  3. Gaussian Mixture Models (GMM): GMM is a probabilistic model that represents the data distribution as a combination of Gaussian distributions. It can capture complex patterns in your trajectory data and assign data points to different clusters based on the probabilities of belonging to each Gaussian component.

  4. Hierarchical Clustering: Hierarchical clustering builds a tree-like structure of clusters, also known as a dendrogram. It enables you to identify both individual clusters and nested subclusters within your trajectory data. Agglomerative clustering is a common approach in hierarchical clustering, where each data point starts as its own cluster and is iteratively merged based on distance or similarity measures.

  5. Self-Organizing Maps (SOM): SOM is an unsupervised learning algorithm that uses a neural network to create a low-dimensional representation of your trajectory data. It can help visualize and cluster the trajectories based on their similarities.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.