Finding the middle point of the "most populated" area in a set of points?
What you are looking for is called cluster analysis or a clustering algorithm. It's a topic studied in unsupervised machine learning, so there's not necessarily a single &quot;best&quot; algorithm that exists (rather, there are different methods which are meant to optimize for different metrics). For example, do you want your clusters to all be similar size? Do you want a fixed number of clusters, or a variable number of clusters? Different answers to these questions result in different algorithms, so you will have to do some research (or try out directly) the different clustering algorithms available. For example, one of the classic algorithms is called k-means clustering.
Once you find the clusters, you can take the average of the points in the biggest cluster to solve your problem.
You don't have to implement the algorithm yourself -- many machine learning libraries (scikit-learn, Pytorch, ...) have out-of-the-box clustering procedures that you can try out and see what they look like for your dataset.