List of usage examples for weka.filters.supervised.instance Resample setSampleSizePercent
public void setSampleSizePercent(double newSampleSizePercent)
From source file:de.ugoe.cs.cpdp.dataprocessing.Oversampling.java
License:Apache License
@Override public void apply(Instances testdata, Instances traindata) { final int[] counts = traindata.attributeStats(traindata.classIndex()).nominalCounts; if (counts[1] < counts[0]) { Instances negatives = new Instances(traindata); Instances positives = new Instances(traindata); for (int i = traindata.size() - 1; i >= 0; i--) { if (Double.compare(1.0, negatives.get(i).classValue()) == 0) { negatives.remove(i);/*from w w w. j a va 2s . co m*/ } if (Double.compare(0.0, positives.get(i).classValue()) == 0) { positives.remove(i); } } Resample resample = new Resample(); resample.setSampleSizePercent((100.0 * counts[0]) / counts[1]); try { resample.setInputFormat(traindata); positives = Filter.useFilter(positives, resample); } catch (Exception e) { throw new RuntimeException(e); } traindata.clear(); for (int i = 0; i < negatives.size(); i++) { traindata.add(negatives.get(i)); } for (int i = 0; i < positives.size(); i++) { traindata.add(positives.get(i)); } } }
From source file:de.ugoe.cs.cpdp.dataprocessing.Resampling.java
License:Apache License
@Override public void apply(Instances testdata, Instances traindata) { Resample resample = new Resample(); resample.setSampleSizePercent(100); resample.setBiasToUniformClass(1.0); Instances traindataSample;/* w w w. ja v a 2 s.c o m*/ try { resample.setInputFormat(traindata); traindataSample = Filter.useFilter(traindata, resample); } catch (Exception e) { throw new RuntimeException(e); } traindata.clear(); for (int i = 0; i < traindataSample.size(); i++) { traindata.add(traindataSample.get(i)); } }
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 w w .j av a 2 s . c o m 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;/* www . j av a2 s . c o m*/ 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 ww .j a v a2 s. 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 a v 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/*from www. j av a 2s .c om*/ * @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 ww w .ja v a 2 s . 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; }