def runExperiment(self, classifier: Classifier, parameter: Parameter, experimentPerformance: ExperimentPerformance, crossValidation: CrossValidation, testSet: InstanceList): for i in range(self.K): trainSet = InstanceList(crossValidation.getTrainFold(i)) classifier.train(trainSet, parameter) experimentPerformance.add(classifier.test(testSet))
def execute(self, experiment: Experiment) -> ExperimentPerformance: """ Execute the bootstrap run with the given classifier on the given data set using the given parameters. PARAMETERS ---------- experiment : Experiment Experiment to be run. RETURNS ------- ExperimentPerformance An ExperimentPerformance instance. """ result = ExperimentPerformance() for i in range(self.__numberOfBootstraps): bootstrap = Bootstrap(experiment.getDataSet().getInstances(), i + experiment.getParameter().getSeed()) bootstrapSample = InstanceList(bootstrap.getSample()) experiment.getClassifier().train(bootstrapSample, experiment.getParameter()) result.add(experiment.getClassifier().test( experiment.getDataSet().getInstanceList())) return result