List of usage examples for weka.filters.supervised.instance Resample setNoReplacement
public void setNoReplacement(boolean value)
From source file:de.ugoe.cs.cpdp.dataselection.LACE2.java
License:Apache License
@Override public void apply(Instances testdata, SetUniqueList<Instances> traindataSet) { Instances selectedData = new Instances(testdata); selectedData.clear();/*from w ww . j a v a 2s .com*/ LinkedList<Instances> traindataCopy = new LinkedList<>(traindataSet); Collections.shuffle(traindataCopy); CLIFF cliff = new CLIFF(); cliff.setParameter(Double.toString(percentage)); MORPH morph = new MORPH(); Median median = new Median(); double minDist = Double.MIN_VALUE; for (Instances traindata : traindataCopy) { Instances cliffedData = cliff.applyCLIFF(traindata); if (minDist == Double.MIN_VALUE) { // determine distance for leader-follower algorithm Instances sample; if (traindata.size() > 100) { Resample resample = new Resample(); resample.setSampleSizePercent(100.0 / traindata.size() * 100.0); resample.setBiasToUniformClass(0.0); resample.setNoReplacement(true); try { resample.setInputFormat(traindata); sample = Filter.useFilter(traindata, resample); } catch (Exception e) { throw new RuntimeException(e); } } else { sample = new Instances(traindata); } double[] distances = new double[sample.size()]; for (int i = 0; i < sample.size(); i++) { Instance unlikeNeighbor = morph.getNearestUnlikeNeighbor(sample.get(i), sample); distances[i] = MathArrays.distance(WekaUtils.instanceValues(sample.get(i)), WekaUtils.instanceValues(unlikeNeighbor)); } minDist = median.evaluate(distances); } for (int i = 0; i < cliffedData.size(); i++) { Instance unlikeNeighbor = morph.getNearestUnlikeNeighbor(cliffedData.get(i), selectedData); if (unlikeNeighbor == null) { selectedData.add(cliffedData.get(i)); } else { double distance = MathArrays.distance(WekaUtils.instanceValues(cliffedData.get(i)), WekaUtils.instanceValues(unlikeNeighbor)); if (distance > minDist) { morph.morphInstance(cliffedData.get(i), cliffedData); selectedData.add(cliffedData.get(i)); } } } } }
From source file:function.FilterResample.java
public static Instances filterResample(Instances inst) { Resample filter = new Resample(); Instances instResample = null;/*from w ww . j a va2s . c om*/ filter.setBiasToUniformClass(1.0); try { filter.setInputFormat(inst); filter.setNoReplacement(false); filter.setSampleSizePercent(100); instResample = Filter.useFilter(inst, filter); } catch (Exception e) { System.out.println("Error when resampling input data!"); e.printStackTrace(); } return instResample; }
From source file:Helper.CustomFilter.java
public Instances resampling(Instances structure) { Resample filter = new Resample(); Instances filteredIns = null;//from w w w.j av a 2s. c o m filter.setBiasToUniformClass(1.0); try { filter.setInputFormat(structure); filter.setNoReplacement(false); filter.setSampleSizePercent(100); filteredIns = Filter.useFilter(structure, filter); } catch (Exception e) { e.printStackTrace(); } return filteredIns; }
From source file:meansagnes.MeansAgnes.java
public void resample(double b, double z, int seed) { try {//from w w w.j av a 2 s .com System.out.println(data.toString() + "\n"); Resample resampleFilter = new Resample(); resampleFilter.setInputFormat(data); resampleFilter.setNoReplacement(false); resampleFilter.setBiasToUniformClass(b); // Uniform distribution of class resampleFilter.setSampleSizePercent(z); resampleFilter.setRandomSeed(seed); data = Filter.useFilter(data, resampleFilter); /*Random R = new Random(); data.resample(R);*/ System.out.println("HASIL RESAMPLE\n\n"); System.out.println(data.toString() + "\n"); } catch (Exception ex) { Logger.getLogger(MeansAgnes.class.getName()).log(Level.SEVERE, null, ex); } }
From source file:trainableSegmentation.WekaSegmentation.java
License:GNU General Public License
/** * Homogenize number of instances per class * * @param data input set of instances//w w w. j a v a 2s . co m * @return resampled set of instances */ public static Instances homogenizeTrainingData(Instances data) { final Resample filter = new Resample(); Instances filteredIns = null; filter.setBiasToUniformClass(1.0); try { filter.setInputFormat(data); filter.setNoReplacement(false); filter.setSampleSizePercent(100); filteredIns = Filter.useFilter(data, filter); } catch (Exception e) { IJ.log("Error when resampling input data!"); e.printStackTrace(); } return filteredIns; }
From source file:trainableSegmentation.WekaSegmentation.java
License:GNU General Public License
/** * Homogenize number of instances per class (in the loaded training data) *//*from w w w. j a va 2s . c o m*/ public void homogenizeTrainingData() { final Resample filter = new Resample(); Instances filteredIns = null; filter.setBiasToUniformClass(1.0); try { filter.setInputFormat(this.loadedTrainingData); filter.setNoReplacement(false); filter.setSampleSizePercent(100); filteredIns = Filter.useFilter(this.loadedTrainingData, filter); } catch (Exception e) { IJ.log("Error when resampling input data!"); e.printStackTrace(); } this.loadedTrainingData = filteredIns; }