public StochasticKMeansPredictor(List<Instance> instances) {
		
		num_clusters = 3;
		if (CommandLineUtilities.hasArg("num_clusters")) {
		    num_clusters = CommandLineUtilities.getOptionValueAsInt("num_clusters");
		}
		// init clusters
		for (int i = 0 ; i < num_clusters ; i++) {
			clusters.add(new Cluster(instances.get(i).getFeatureVector()));
		}
		
		clustering_training_iterations = 10;
		if (CommandLineUtilities.hasArg("clustering_training_iterations")) {
		    clustering_training_iterations = CommandLineUtilities.getOptionValueAsInt("clustering_training_iterations");
		}
	}