in poincare_maps.py [0:0]
def detect_lineages(self, n_lin=2, clustering_name='spectral', k=15, rotated=False):
pc_proj = []
if rotated:
x = self.coordinates_rotated
else:
x = self.coordinates
for i in range(len(x)):
pc_proj.append(get_projected_coordinates(x[i]))
if clustering_name == 'spectral':
clustering = SpectralClustering(n_clusters=n_lin, eigen_solver='arpack', affinity="nearest_neighbors", n_neighbors=k).fit(pc_proj)
elif clustering_name == 'dbs':
clustering = DBSCAN(eps=1/180, min_samples=10).fit(pc_proj)
elif clustering_name == 'kmeans':
clustering = KMeans(n_clusters=n_lin).fit(pc_proj)
else:
clustering = AgglomerativeClustering(linkage='ward', n_clusters=n_lin).fit(pc_proj)
self.lineages = clustering.labels_