Mercurial Hosting > traffic-intelligence
diff scripts/learn-motion-patterns.py @ 908:b297525b2cbf
added options to the prototype cluster algorithm, work in progress
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Mon, 26 Jun 2017 00:10:35 -0400 |
parents | 9fd7b18f75b4 |
children | b58a1061a717 |
line wrap: on
line diff
--- a/scripts/learn-motion-patterns.py Fri Jun 23 23:50:02 2017 -0400 +++ b/scripts/learn-motion-patterns.py Mon Jun 26 00:10:35 2017 -0400 @@ -17,6 +17,7 @@ parser.add_argument('--metric', dest = 'metric', help = 'metric for the similarity of trajectory points', default = 'cityblock') # default is manhattan distance parser.add_argument('-s', dest = 'minSimilarity', help = 'minimum similarity to put a trajectory in a cluster', type = float, required = True) parser.add_argument('-c', dest = 'minClusterSize', help = 'minimum cluster size', type = int, default = None) +parser.add_argument('--optimize', dest = 'optimizeCentroid', help = 'recompute centroid at each assignment', action = 'store_true') parser.add_argument('--random', dest = 'randomInitialization', help = 'random initialization of clustering algorithm', action = 'store_true') parser.add_argument('--subsample', dest = 'positionSubsamplingRate', help = 'rate of position subsampling (1 every n positions)', type = int) parser.add_argument('--display', dest = 'display', help = 'display trajectories', action = 'store_true') @@ -60,7 +61,7 @@ similarities = -np.ones((nTrajectories, nTrajectories)) -prototypeIndices, labels = ml.prototypeCluster(trajectories, similarities, args.minSimilarity, lambda x,y : lcss.computeNormalized(x, y), args.minClusterSize, args.randomInitialization, True, None) # this line can be called again without reinitializing similarities +prototypeIndices, labels = ml.prototypeCluster(trajectories, similarities, args.minSimilarity, lambda x,y : lcss.computeNormalized(x, y), args.minClusterSize, args.optimizeCentroid, args.randomInitialization, True, None) # this line can be called again without reinitializing similarities clusterSizes = ml.computeClusterSizes(labels, prototypeIndices, -1) print(clusterSizes)