对地理位置进行kmeans聚类的python代码
时间: 2023-10-23 22:12:42 浏览: 179
以下是对地理位置进行kmeans聚类的Python代码示例:
```python
import numpy as np
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
from geopy.geocoders import Nominatim
# 先获取多个地点的经纬度
geolocator = Nominatim(user_agent="geoapiExercises")
locations = ["New York", "Los Angeles", "Chicago", "Houston", "Philadelphia", "Phoenix", "San Antonio", "San Diego"]
latitudes = []
longitudes = []
for location in locations:
location = geolocator.geocode(location)
latitudes.append(location.latitude)
longitudes.append(location.longitude)
# 将经纬度组成一个数组
X = np.array(list(zip(latitudes, longitudes)))
# 进行kmeans聚类
kmeans = KMeans(n_clusters=3)
kmeans = kmeans.fit(X)
# 输出聚类结果
print(kmeans.labels_)
```
这个示例代码通过使用 `Nominatim` 模块获取了多个城市的经纬度,然后将经纬度组成一个二维数组 `X`,并使用 `sklearn` 中的 `KMeans` 进行聚类。最后输出了聚类结果。
阅读全文