KMeansPlusPlusClusterer should not call equals()
------------------------------------------------

                 Key: MATH-547
                 URL: https://issues.apache.org/jira/browse/MATH-547
             Project: Commons Math
          Issue Type: Improvement
    Affects Versions: 3.0
            Reporter: Nate Paymer
            Priority: Minor


In determining whether the clusters have changed between iterations, the 
KMeansPlusPlusClusterer currently calls equals to determine whether the cluster 
centers have changed.  It would be better to avoid relying on equals by instead 
checking whether any points have moved between clusters.

equals can be problematic because floating point operations are not strictly 
commutative or associative, so getCentroid may return slightly different values 
even when called with the same set of inputs.  Additionally, the client may 
choose not to override equals at all, since it's not clear that it's required.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to