[ 
https://issues.apache.org/jira/browse/MATH-547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Luc Maisonobe resolved MATH-547.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 3.0
         Assignee: Luc Maisonobe

Fixed in subversion repository as of r1088702.

Thanks to Nate for identifying the problem and thanks to Thomas for providing 
the patch

> 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
>            Assignee: Luc Maisonobe
>            Priority: Minor
>             Fix For: 3.0
>
>         Attachments: MATH-547.patch
>
>
> 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