You can implement k-means algorithm as: SimpleKMeans kmeans = new SimpleKMeans(); kmeans.setSeed(10); // This is the important parameter to set kmeans.setPreserveInstancesOrder(true); kmeans.setNumClusters(numberOfClusters); kmeans.buildClusterer(instances); // This array returns the cluster number (starting with 0) for each instance // The array has as many elements as the number of instances int[] assignments = kmeans.getAssignments(); int i=0; for(int clusterNum : assignments) { System.out.printf("Instance %d -> Cluster %d", i, clusterNum); i++; }
You can implement k-Means as: SimpleKMeans kmeans = new SimpleKMeans(); kmeans.setSeed(10); // This is the important parameter to set kmeans.setPreserveInstancesOrder(true); kmeans.setNumClusters(numberOfClusters); kmeans.buildClusterer(instances); // This array returns the cluster number (starting with 0) for each instance // The array has as many elements as the number of instances int[] assignments = kmeans.getAssignments(); int i=0; for(int clusterNum : assignments) { System.out.printf("Instance %d -> Cluster %d", i, clusterNum); i++; }
/** * Constructor. Sets defaults for each member variable. Default Clusterer is * EM. */ public ClusterEvaluation() { setClusterer(new SimpleKMeans()); m_clusteringResults = new StringBuffer(); m_clusterAssignments = null; }
/** Creates a default SimpleKMeans */ public Clusterer getClusterer() { return new SimpleKMeans(); }
/** * Default constructor. */ public FilteredClusterer() { m_Clusterer = new SimpleKMeans(); m_Filter = new weka.filters.AllFilter(); }
/** * Constructor. Sets defaults for each member variable. Default Clusterer is * EM. */ public ClusterEvaluation() { setClusterer(new SimpleKMeans()); m_clusteringResults = new StringBuffer(); m_clusterAssignments = null; }
/** * Main method for executing this class. * * @param args use -h to list all parameters */ public static void main(String[] args) { runClusterer(new SimpleKMeans(), args); } }
/** * Default constructor. */ public FilteredClusterer() { m_Clusterer = new SimpleKMeans(); m_Filter = new weka.filters.AllFilter(); }
/** * Main method for executing this class. * * @param args use -h to list all parameters */ public static void main(String[] args) { runClusterer(new SimpleKMeans(), args); } }
/** Creates a default SimpleKMeans */ public Clusterer getClusterer() { return new SimpleKMeans(); }
/** Creates a default SimpleKMeans */ public Clusterer getClusterer() { return new SimpleKMeans(); }
/** Creates a default SimpleKMeans */ public Clusterer getClusterer() { return new SimpleKMeans(); }
/** * Returns default capabilities of the clusterer (i.e., the ones of * SimpleKMeans). * * @return the capabilities of this clusterer */ @Override public Capabilities getCapabilities() { Capabilities result = new SimpleKMeans().getCapabilities(); result.setOwner(this); return result; }
/** * Returns default capabilities of the clusterer (i.e., the ones of * SimpleKMeans). * * @return the capabilities of this clusterer */ @Override public Capabilities getCapabilities() { Capabilities result = new SimpleKMeans().getCapabilities(); result.setOwner(this); return result; }
/** * Default constructor. */ public ClusteringBased() { super(new LabelPowerset(new J48())); try { SimpleKMeans kmeans = new SimpleKMeans(); kmeans.setNumClusters(5); kmeans.setDistanceFunction(new EuclideanDistance()); clusterer = kmeans; } catch (Exception ex) { Logger.getLogger(ClusteringBased.class.getName()).log(Level.SEVERE, null, ex); } }
public class demo { public demo() throws Exception { // TODO Auto-generated constructor stub BufferedReader breader = null; breader = new BufferedReader(new FileReader( "D:/logiciels/weka-3-7-12/weka-3-7-12/data/iris.arff")); Instances Train = new Instances(breader); //Train.setClassIndex(Train.numAttributes() - 1); // comment out this line SimpleKMeans kMeans = new SimpleKMeans(); kMeans.setSeed(10); kMeans.setPreserveInstancesOrder(true); kMeans.setNumClusters(3); kMeans.buildClusterer(Train); int[] assignments = kMeans.getAssignments(); int i = 0; for (int clusterNum : assignments) { System.out.printf("Instance %d -> Cluster %d", i, clusterNum); i++; } breader.close(); } public static void main(String[] args) throws Exception { // TODO Auto-generated method stub new demo(); } }
long start = System.currentTimeMillis(); SimpleKMeans clusterer = new SimpleKMeans(); if (kMeansPlusPlus) { clusterer.setInitializationMethod(new SelectedTag(SimpleKMeans.KMEANS_PLUS_PLUS,
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());
private void trainModel(Map<Long, Double> metricData) throws Exception { //Model has a single metric_value attribute Attribute value = new Attribute("metric_value"); FastVector attributes = new FastVector(); attributes.addElement(value); trainingData = new Instances("metric_value_data", attributes, 0); for (Double val : metricData.values()) { double[] valArray = new double[] { val }; Instance instance = new Instance(1.0, valArray); trainingData.add(instance); } //Create and train the model model = new SimpleKMeans(); model.setNumClusters(k); model.setMaxIterations(20); model.setPreserveInstancesOrder(true); model.buildClusterer(trainingData); clusterCentroids = model.getClusterCentroids(); centroidAssignments = model.getAssignments(); setMeanDistancesToCentroids(); }
private void trainModel(Map<Long, Double> metricData) throws Exception { //Model has a single metric_value attribute Attribute value = new Attribute("metric_value"); FastVector attributes = new FastVector(); attributes.addElement(value); trainingData = new Instances("metric_value_data", attributes, 0); for (Double val : metricData.values()) { double[] valArray = new double[] { val }; Instance instance = new Instance(1.0, valArray); trainingData.add(instance); } //Create and train the model model = new SimpleKMeans(); model.setNumClusters(k); model.setMaxIterations(20); model.setPreserveInstancesOrder(true); model.buildClusterer(trainingData); clusterCentroids = model.getClusterCentroids(); centroidAssignments = model.getAssignments(); setMeanDistancesToCentroids(); }