public void train(ListDataSet dataSet) throws Exception { instances = new DataSetToInstancesWrapper(dataSet, discrete, false); wekaClusterer.buildClusterer(instances); }
/** * Builds the clusters */ private void buildClusterer() throws Exception { if (m_trainingSet.classIndex() < 0) { m_Clusterer.buildClusterer(m_trainingSet); } else { // class based evaluation if class attribute is set Remove removeClass = new Remove(); removeClass.setAttributeIndices("" + (m_trainingSet.classIndex() + 1)); removeClass.setInvertSelection(false); removeClass.setInputFormat(m_trainingSet); Instances clusterTrain = Filter.useFilter(m_trainingSet, removeClass); m_Clusterer.buildClusterer(clusterTrain); } }
/** * Builds the clusters */ private void buildClusterer() throws Exception { if (m_trainingSet.classIndex() < 0) { m_Clusterer.buildClusterer(m_trainingSet); } else { // class based evaluation if class attribute is set Remove removeClass = new Remove(); removeClass.setAttributeIndices("" + (m_trainingSet.classIndex() + 1)); removeClass.setInvertSelection(false); removeClass.setInputFormat(m_trainingSet); Instances clusterTrain = Filter.useFilter(m_trainingSet, removeClass); m_Clusterer.buildClusterer(clusterTrain); } }
public Dataset[] cluster(Dataset data) { try { /* * Weka cannot handle class values in clustering, so we have to * store and remove them first */ HashMap<Integer, Object> classValueMapping = new HashMap<Integer, Object>(); for (Instance i : data) { classValueMapping.put(i.getID(), i.classValue()); i.setClassValue(null); } data.classes().clear(); /* Convert to Weka and train clustering */ Instances insts = new ToWekaUtils(data).getDataset(); Vector<Dataset> output = new Vector<Dataset>(); wekaCluster.buildClusterer(insts); /* Apply clustering to the data set and restore class values */ for (int i = 0; i < insts.numInstances(); i++) { int clusterIndex = wekaCluster.clusterInstance(insts.instance(i)); while (output.size() <= clusterIndex) output.add(new DefaultDataset()); data.instance(i).setClassValue(classValueMapping.get(data.instance(i).getID())); output.get(clusterIndex).add(data.instance(i)); } return output.toArray(new Dataset[output.size()]); } catch (Exception e) { throw new WekaException(e); } }
clusterer.buildClusterer(train); println("yes"); result[0] = true;
clusterer.buildClusterer(train); println("yes"); result[0] = true;
/** * Build the clusterer on the filtered data. * * @param data the training data * @throws Exception if the clusterer could not be built successfully */ @Override public void buildClusterer(Instances data) throws Exception { if (m_Clusterer == null) { throw new Exception("No base clusterer has been set!"); } // remove instances with missing class if (data.classIndex() > -1) { data = new Instances(data); data.deleteWithMissingClass(); } m_Filter.setInputFormat(data); // filter capabilities are checked here data = Filter.useFilter(data, m_Filter); // can clusterer handle the data? getClusterer().getCapabilities().testWithFail(data); m_FilteredInstances = data.stringFreeStructure(); m_Clusterer.buildClusterer(data); }
/** * Build the clusterer on the filtered data. * * @param data the training data * @throws Exception if the clusterer could not be built successfully */ @Override public void buildClusterer(Instances data) throws Exception { if (m_Clusterer == null) { throw new Exception("No base clusterer has been set!"); } // remove instances with missing class if (data.classIndex() > -1) { data = new Instances(data); data.deleteWithMissingClass(); } m_Filter.setInputFormat(data); // filter capabilities are checked here data = Filter.useFilter(data, m_Filter); // can clusterer handle the data? getClusterer().getCapabilities().testWithFail(data); m_FilteredInstances = data.stringFreeStructure(); m_Clusterer.buildClusterer(data); }
m_ActualClusterer.buildClusterer(toFilterIgnoringAttributes);
m_ActualClusterer.buildClusterer(toFilterIgnoringAttributes);
clusterer.buildClusterer(removedInstances); numClusters = clusterer.numberOfClusters();
clusterer.buildClusterer(data);
clusterer.buildClusterer(data);
clusterer.buildClusterer(trainingData);
clusterer.buildClusterer(trainingData);
clusterer.buildClusterer(trainCopy); compareDatasets(train, trainCopy);
clusterer.buildClusterer(trainCopy); compareDatasets(train, trainCopy);
evaluationB = new ClusterEvaluation(); evaluationI = new ClusterEvaluation(); clusterers[0].buildClusterer(train); evaluationB.setClusterer(clusterers[0]); evaluationB.evaluateClusterer(train); train.instance(inst).setWeight(weight); clusterers[1].buildClusterer(train); built = true; evaluationI.setClusterer(clusterers[1]);
evaluationB = new ClusterEvaluation(); evaluationI = new ClusterEvaluation(); clusterers[0].buildClusterer(train); evaluationB.setClusterer(clusterers[0]); evaluationB.evaluateClusterer(train); clusterers[1].buildClusterer(new Instances(train, 0)); for (int i = 0; i < train.numInstances(); i++) { ((UpdateableClusterer) clusterers[1])
throw new Exception("No clusterer has been set"); m_wrappedClusterer.buildClusterer(data); m_model = new DiscreteEstimator[m_wrappedClusterer.numberOfClusters()][data .numAttributes()];