Research Article

A Multiscale Approach for Free-Float Bike-Sharing Electronic Fence Location Planning: A Case Study of Shenzhen City

Algorithm 1

The multiscale clustering.
input: dataset, k_values, eps_values = [10, 25], min_p = 10
output: best_k, macro_clusters, best_eps (idx), micro_clusters
 for k = k_values
   kmeans = fitckmeans (dataset, k)
   labels = predict (kmeans, dataset)
   evaluation indicator = [WCSS, Silhouette coefficient]
 end
  best_k = k_values(best_k_idx)//choose the best k value
  kmeans = fitckmeans(data, best_k)//k-means macroclustering
  micro_clusters = cell (best_k, 1)
 for cluster_label = 1 : best_k
   for eps = eps_values
    dbscan_labels = dbscan(cluster_data, eps, 10)
    evaluation indicator = [ WCSS, Silhouette coefficient, CH index]
  end
   best_eps = eps_values(best_eps_idx)//choose the best eps value
   dbscan_labels = dbscan(cluster_data, best_eps, 10)//dbscan microclustering
   micro_clusters{cluster_label} = dbscan_labels;
  end