Instances instances = new Instances("iris.arff"); SimpleKMeans simpleKMeans = new SimpleKMeans(); // build clusterer simpleKMeans.setPreservationOrder(true); simpleKMeans.setNumClusters(2); simpleKMeans.buildClusterer(instances); ClusterEvaluation eval = new ClusterEvaluation(); eval.setClusterer(simpleKMeans); eval.evaluateClusterer(instances); System.out.println("Cluster Evaluation: "+eval.clusterResultsToString());
+ makeOptionString(clusterer, globalInfo)); + makeOptionString(clusterer, false)); trainHeader = clusterTrain; ClusterEvaluation ce = new ClusterEvaluation(); ce.setClusterer(clusterer); ce.evaluateClusterer(train, trainFileName); + ce.clusterResultsToString(); return printClusterings(clusterer, trainFileName, testFileName, attributesToOutput); + printClusterStats(clusterer, trainFileName)); + printClusterStats(clusterer, testFileName)); train = source.getDataSet(); train.randomize(random); text.append(crossValidateModel(clusterer.getClass().getName(), train, folds, savedOptions, random)); saveClusterer(objectOutputFileName, clusterer, trainHeader);
test.setClassIndex(-1); ClusterEvaluation eval = new ClusterEvaluation(); m_clusterer.buildClusterer(train); double numClusters = m_clusterer.numberOfClusters(); eval.setClusterer(m_clusterer); long trainTimeElapsed = System.currentTimeMillis() - trainTimeStart; long testTimeStart = System.currentTimeMillis(); eval.evaluateClusterer(test); long testTimeElapsed = System.currentTimeMillis() - testTimeStart; result[current++] = new Double(test.numInstances()); result[current++] = new Double(eval.getLogLikelihood()); result[current++] = new Double(numClusters);
ClusterEvaluation eval = new ClusterEvaluation(); eval.setClusterer(clusterer); try { eval.evaluateClusterer(train); } catch (Exception e) { e.printStackTrace();
/** * Evaluate the clusterer on a set of instances. Calculates clustering * statistics and stores cluster assigments for the instances in * m_clusterAssignments * * @param test the set of instances to cluster * @throws Exception if something goes wrong */ public void evaluateClusterer(Instances test) throws Exception { evaluateClusterer(test, ""); }
/** * Constructor. Sets defaults for each member variable. Default Clusterer is * EM. */ public ClusterEvaluation() { setClusterer(new SimpleKMeans()); m_clusteringResults = new StringBuffer(); m_clusterAssignments = null; }
int[] classAssignments; clusterAssignments = m_Evaluation.getClusterAssignments(); classAssignments = m_Evaluation.getClassesToClusters(); m_PlotShapes = new int[m_Instances.numInstances()]; for (i = 0; i < m_Instances.numInstances(); i++) {
+ attributeValuesString(inst, attributesToOutput) + "\n"); } catch (Exception e) { + attributeValuesString(inst, attributesToOutput) + "\n"); + cnum + " " + attributeValuesString(forBatchPredictors.instance(i), attributesToOutput) + "\n"); i++;
crossValidateModel((DensityBasedClusterer) clusterer, data, numFolds, random);
evaluateClustersWithRespectToClass(test, testFileName);
+ makeOptionString(clusterer, globalInfo)); + makeOptionString(clusterer, false)); trainHeader = clusterTrain; ClusterEvaluation ce = new ClusterEvaluation(); ce.setClusterer(clusterer); ce.evaluateClusterer(train, trainFileName); + ce.clusterResultsToString(); return printClusterings(clusterer, trainFileName, testFileName, attributesToOutput); + printClusterStats(clusterer, trainFileName)); + printClusterStats(clusterer, testFileName)); train = source.getDataSet(); train.randomize(random); text.append(crossValidateModel(clusterer.getClass().getName(), train, folds, savedOptions, random)); saveClusterer(objectOutputFileName, clusterer, trainHeader);
test.setClassIndex(-1); ClusterEvaluation eval = new ClusterEvaluation(); m_clusterer.buildClusterer(train); double numClusters = m_clusterer.numberOfClusters(); eval.setClusterer(m_clusterer); long trainTimeElapsed = System.currentTimeMillis() - trainTimeStart; long testTimeStart = System.currentTimeMillis(); eval.evaluateClusterer(test); long testTimeElapsed = System.currentTimeMillis() - testTimeStart; result[current++] = new Double(test.numInstances()); result[current++] = new Double(eval.getLogLikelihood()); result[current++] = new Double(numClusters);
/** * Evaluate the clusterer on a set of instances. Calculates clustering * statistics and stores cluster assigments for the instances in * m_clusterAssignments * * @param test the set of instances to cluster * @throws Exception if something goes wrong */ public void evaluateClusterer(Instances test) throws Exception { evaluateClusterer(test, ""); }
/** * Constructor. Sets defaults for each member variable. Default Clusterer is * EM. */ public ClusterEvaluation() { setClusterer(new SimpleKMeans()); m_clusteringResults = new StringBuffer(); m_clusterAssignments = null; }
int[] classAssignments; clusterAssignments = m_Evaluation.getClusterAssignments(); classAssignments = m_Evaluation.getClassesToClusters(); m_PlotShapes = new int[m_Instances.numInstances()]; for (i = 0; i < m_Instances.numInstances(); i++) {
+ attributeValuesString(inst, attributesToOutput) + "\n"); } catch (Exception e) { + attributeValuesString(inst, attributesToOutput) + "\n"); + cnum + " " + attributeValuesString(forBatchPredictors.instance(i), attributesToOutput) + "\n"); i++;
crossValidateModel((DensityBasedClusterer) clusterer, data, numFolds, random);
evaluateClustersWithRespectToClass(test, testFileName);
evaluationB = new ClusterEvaluation(); evaluationI = new ClusterEvaluation(); clusterers[0].buildClusterer(train); evaluationB.setClusterer(clusterers[0]); evaluationB.evaluateClusterer(train); } catch (Exception ex) { throw new Error("Error setting up for tests: " + ex.getMessage()); evaluationI.setClusterer(clusterers[1]); evaluationI.evaluateClusterer(train); if (!evaluationB.equals(evaluationI)) { println("no"); result[0] = false; println("Here are the results:\n"); println("\nbatch built results\n" + evaluationB.clusterResultsToString()); println("\nincrementally built results\n" + evaluationI.clusterResultsToString()); println("Here are the datasets:\n"); println("=== Train Dataset ===\n" + train.toString() + "\n");
/** * Evaluate the clusterer on a set of instances. Calculates clustering * statistics and stores cluster assigments for the instances in * m_clusterAssignments * * @param test the set of instances to cluster * @param testFileName the name of the test file for incremental testing, if * "" or null then not used * * @throws Exception if something goes wrong */ public void evaluateClusterer(Instances test, String testFileName) throws Exception { evaluateClusterer(test, testFileName, true); }