def train(self, num_classifiers=50): bagged_datasets = DataHandler.create_bagged_datasets( num_classifiers, self.examples, self.targets) for bagged_dataset in bagged_datasets: naive_bayes = NaiveBayes(bagged_dataset[0], bagged_dataset[1]) naive_bayes.train() self.nb_classifiers.append(naive_bayes)
def train(self, forest_size=50, tree_depth=10): self.forest = [] bagged_datasets = DataHandler.create_bagged_datasets( forest_size, self.examples, self.targets) for bagged_dataset in bagged_datasets: examples = bagged_dataset[0] targets = bagged_dataset[1] num_attributes = len(examples[0]) num_chosen_attr = int(sqrt(num_attributes)) while num_chosen_attr > len(examples[0]): DataHandler.rm_column(examples, random.randint(1, len(examples[0]) - 1)) id3 = ID3(examples, targets) id3.train(tree_depth) self.forest.append(id3)