AIS 数据 HDBSCAN 聚类:Python 代码示例和结果解读
以下是使用 HDBSCAN 对 AIS 数据进行聚类的 Python 代码示例:
import hdbscan
import pandas as pd
# 读取 AIS 数据
ais_data = pd.read_csv('ais_data.csv')
# 将经纬度转化为球面上的欧几里得距离
from sklearn.neighbors import DistanceMetric
dist = DistanceMetric.get_metric('haversine')
X = dist.pairwise(ais_data[['longitude', 'latitude']].values) * 6371
# 聚类
clusterer = hdbscan.HDBSCAN(min_cluster_size=5, metric='precomputed')
labels = clusterer.fit_predict(X)
# 将聚类结果添加到原始数据中
ais_data['cluster'] = labels
# 输出聚类结果
print(ais_data.groupby('cluster').size())
聚类模型结果可以通过聚类标签来理解。每个标签代表一个聚类,标签为 -1 的数据点则为噪声点。可以统计每个聚类中的数据点数量,以及查看每个聚类的中心点(如果有的话)。可以通过可视化聚类结果来更好地理解聚类效果。
原文地址: https://www.cveoy.top/t/topic/oX0p 著作权归作者所有。请勿转载和采集!