You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Phil Steitz (JIRA)" <ji...@apache.org> on 2009/11/27 22:47:20 UTC
[jira] Resolved: (MATH-305) NPE in KMeansPlusPlusClusterer
unittest
[ https://issues.apache.org/jira/browse/MATH-305?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Phil Steitz resolved MATH-305.
------------------------------
Resolution: Fixed
The problem was due to overflow in MathUtils.distance() due to bad typing. Fixed in r885027.
> NPE in KMeansPlusPlusClusterer unittest
> ----------------------------------------
>
> Key: MATH-305
> URL: https://issues.apache.org/jira/browse/MATH-305
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: java 6, eclipse, apache commons math trunk
> Reporter: Erik van Ingen
> Fix For: 2.1
>
> Original Estimate: 4h
> Remaining Estimate: 4h
>
> When running this unittest, I am facing this NPE:
> java.lang.NullPointerException
> at org.apache.commons.math.stat.clustering.KMeansPlusPlusClusterer.assignPointsToClusters(KMeansPlusPlusClusterer.java:91)
> This is the unittest:
> package org.fao.fisheries.chronicles.calcuation.cluster;
> import static org.junit.Assert.assertEquals;
> import static org.junit.Assert.assertTrue;
> import java.util.Arrays;
> import java.util.List;
> import java.util.Random;
> import org.apache.commons.math.stat.clustering.Cluster;
> import org.apache.commons.math.stat.clustering.EuclideanIntegerPoint;
> import org.apache.commons.math.stat.clustering.KMeansPlusPlusClusterer;
> import org.fao.fisheries.chronicles.input.CsvImportProcess;
> import org.fao.fisheries.chronicles.input.Top200Csv;
> import org.junit.Test;
> public class ClusterAnalysisTest {
> @Test
> public void testPerformClusterAnalysis2() {
> KMeansPlusPlusClusterer<EuclideanIntegerPoint> transformer = new KMeansPlusPlusClusterer<EuclideanIntegerPoint>(
> new Random(1746432956321l));
> EuclideanIntegerPoint[] points = new EuclideanIntegerPoint[] {
> new EuclideanIntegerPoint(new int[] { 1959, 325100 }),
> new EuclideanIntegerPoint(new int[] { 1960, 373200 }), };
> List<Cluster<EuclideanIntegerPoint>> clusters = transformer.cluster(Arrays.asList(points), 1, 1);
> assertEquals(1, clusters.size());
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.