ポイントのセットがあります。それらのジオメトリ (SRID: 4326) はデータベースに保存されます。このポイントを DBSCAN でクラスター化することを目的としたコードが提供されました。パラメータは次のように設定されています: eps=1000, min_points=1.
1000 メートル未満のクラスターを取得します。私は、距離が 1000 メートル未満の 2 つのポイントが同じクラスターに属すると考えていました。イプシロンは本当にメートルですか?
コードは次のとおりです。
self.algorithm='DBSCAN'
X=self.data[:,[2,3]]
if self.debug==True:
print 'Nbr of Points: %d'% len(X)
# print X.shape
# print dist_matrix.shape
D = distance.squareform(distance.pdist(X,'euclidean'))
# print dist_matrix
# S = 1 - (D / np.max(D))
db = DBSCAN(eps, min_samples).fit(D)
self.core_samples = db.core_sample_indices_
self.labels = db.labels
目的は、それを実行する別の方法を見つけることではなく、実際に eps の価値を理解することです。距離で表すもの。Min_sample が 1 に設定されているのは、実際に 1 サンプルのサイズのクラスターを持つことを受け入れるためです。