package org.neuroph.contrib.model.errorestimation;
import org.neuroph.contrib.model.sampling.RandomSamplingWithRepetition;
import org.neuroph.core.data.DataSet;
import java.util.List;
/**
* Error estimation method which uses sampling with repetition. Each sample contains N elements which forms
* so called E632 Bootstrap
*
* U odnosu na KFold nema nikakvu dodatnu logiku, samo drugi sampling i izbor datasetova
* tako da mogu kfold da spojim sa error estimation i da ovaj dobijam kroz setere ili parametrizaciju
*
*
* Vidi konacni kakva j erazlika izmedju ova dva
* ako je samo smpling metod, onda se moze koristiti korsvalifacija a drugim smpling metodom
*
* moze da se izvuce ErrorEstimation method kao osnovna klasa
*
* Boostraraping koristi sabsamples ne subsets
* http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-12.html
*
* mozes da koristis 632+ botstraping
* 50 - 2000 subsamples
*
* mogao bih da napravim sve to sa jednom klasom; KFold samo sa drugim sampling algoritmom
*
*
*/
public class Bootstrapping/* extends KFoldCrossValidation */{
/**
* Default constructor for creating BootstrapEstimationMethod error estimation
*
* @param numberOfSamples defines number of bootstrap samples
*/
public Bootstrapping(int numberOfSamples) {
// super(numberOfSamples);
// setSampling(new RandomSamplingWithRepetition(numberOfSamples));
}
// @Override
// protected DataSet createTrainingSet(List samples, int selectedSampleIndex) {
// return samples.get(selectedSampleIndex);
// }
// @Override
protected DataSet createTestSet(List samples, int selectedSampleIndex) {
return samples.get((selectedSampleIndex + 1) % samples.size());
}
}
Ads help maintain this website.