@Test public void testLloyd4() { System.out.println("Lloyd 4"); MathEx.setSeed(19650218); KMeans model = KMeans.lloyd(x, 4); System.out.println(model); double r = RandIndex.of(y, model.y); double r2 = AdjustedRandIndex.of(y, model.y); System.out.format("Training rand index = %.2f%%, adjusted rand index = %.2f%%%n", 100.0 * r, 100.0 * r2); assertEquals(0.6111, r, 1E-4); assertEquals(0.2475, r2, 1E-4); System.out.format("MI = %.2f%n", MutualInformation.of(y, model.y)); System.out.format("NMI.joint = %.2f%%%n", 100 * NormalizedMutualInformation.joint(y, model.y)); System.out.format("NMI.max = %.2f%%%n", 100 * NormalizedMutualInformation.max(y, model.y)); System.out.format("NMI.min = %.2f%%%n", 100 * NormalizedMutualInformation.min(y, model.y)); System.out.format("NMI.sum = %.2f%%%n", 100 * NormalizedMutualInformation.sum(y, model.y)); System.out.format("NMI.sqrt = %.2f%%%n", 100 * NormalizedMutualInformation.sqrt(y, model.y)); }
public static KMeans lloyd(double[][] data, int k) { return lloyd(data, k, 100, 1E-4); }
KMeans extends CentroidClustering<double[], double[]> { public static KMeans lloyd(double[][] data, int k) { return lloyd(data, k, 100, 1E-4); } }
KMeans extends CentroidClustering<double[], double[]> { public static KMeans lloyd(double[][] data, int k) { return lloyd(data, k, 100, 1E-4); } KMeans(double distortion, double[][] centroids, int[] y); }
KMeans extends CentroidClustering<double[], double[]> { public static KMeans lloyd(double[][] data, int k) { return lloyd(data, k, 100, 1E-4); } KMeans(double distortion, double[][] centroids, int[] y); @Override double distance(double[] x, double[] y); static KMeans fit(double[][] data, int k); static KMeans fit(double[][] data, int k, int maxIter, double tol); static KMeans fit(BBDTree bbd, double[][] data, int k, int maxIter, double tol); static KMeans lloyd(double[][] data, int k); static KMeans lloyd(double[][] data, int k, int maxIter, double tol); }
KMeans extends CentroidClustering<double[], double[]> { public static KMeans lloyd(double[][] data, int k) { return lloyd(data, k, 100, 1E-4); } KMeans(double distortion, double[][] centroids, int[] y); @Override double distance(double[] x, double[] y); static KMeans fit(double[][] data, int k); static KMeans fit(double[][] data, int k, int maxIter, double tol); static KMeans fit(BBDTree bbd, double[][] data, int k, int maxIter, double tol); static KMeans lloyd(double[][] data, int k); static KMeans lloyd(double[][] data, int k, int maxIter, double tol);  }