def generateModelForExpertise(self, expertise): print "Generating model for", expertise # extracting the regions for the given expertise self._optimizeParameters(expertise) expertiseRegions = self._dictExpertiseRegions[expertise] dataQueue = Queue(len(expertiseRegions)) print "Initially computed models:-" pprint(self._dictExpertModels) iternum = 0 while iternum < Settings.numberOfIterations: UsersData.partitionUsers(self._dictExpertModels[expertise], expertise) print "Recomputed Bounding boxes for regions-----" self._updateExpertiseRegions(expertise) self._displayRegionsInfo(expertise) self._dictExpertModels.clear() expertiseRegions = self._dictExpertiseRegions[expertise] print "---- Recomputing the centers------------" start = time.time() processes = self._computeModelsParallely(expertiseRegions, dataQueue) self._waitForProcesses(processes) self._populateResultsFromQueue(expertise, dataQueue) print "It took ", start - time.time(), " seconds" print "---------------Generated multiple center model----------" pprint(self._dictExpertModels) iternum += 1