- while (len(consensual) > consensus):
- consensus = len(consensual)
- try:
- estimate = model.get(consensual)
- except NP.linalg.LinAlgError:
- pass
- consensual = filter_near(model.data, estimate, distance)
- return consensus, estimate, consensual
+ estimate = model.get(consensual)
+ new_score, new_consensual = model.score(estimate, distance)
+ if new_consensual != []:
+ while (new_score < score):
+ score, consensual = new_score, new_consensual
+ try:
+ estimate = model.get(consensual)
+ new_score, new_consensual = model.score(estimate, distance)
+ except (NP.linalg.LinAlgError):
+ pass
+ return score, estimate, consensual