def train(self, dataset): def train_trees(examples_subset): tree = DecisionTree() #tree.train(examples_subset, splitting_func=ft.partial(random_subset_split, self.number_of_dimensions)) tree.train(examples_subset, splitting_func=totally_random_split) #use identity function tree.transform_input = identity return tree if self.number_of_dimensions == None: self.number_of_dimensions = min(np.log2(dataset.num_attributes()) + 1, 1) points_per_sample = dataset.num_examples() * 1.0 / 3.0 self.learners = map(train_trees, ds.bootstrap_samples(dataset, self.number_of_learners, points_per_sample))
def train(self, dataset): def train_trees(examples_subset): #select a subset of dimensions dims = random_subset(self.number_of_dimensions, examples_subset.num_attributes()) subset_input = examples_subset.inputs[dims, :] reduced_sample = Dataset(subset_input, examples_subset.outputs) tree = DecisionTree(reduced_sample) tree.dimensions_subset = dims return tree if self.number_of_dimensions == None: self.number_of_dimensions = min(np.log2(dataset.num_attributes()) + 1, 1) points_per_sample = dataset.num_examples() * 1.0 / 3.0 in_bags, out_bags = ds.bootstrap_samples(dataset, self.number_of_learners, points_per_sample) self.learners = map(train_trees, in_bags)
def train(self, dataset): def train_trees(examples_subset): tree = DecisionTree() #tree.train(examples_subset, splitting_func=ft.partial(random_subset_split, self.number_of_dimensions)) tree.train(examples_subset, splitting_func=totally_random_split) #use identity function tree.transform_input = identity return tree if self.number_of_dimensions == None: self.number_of_dimensions = min( np.log2(dataset.num_attributes()) + 1, 1) points_per_sample = dataset.num_examples() * 1.0 / 3.0 self.learners = map( train_trees, ds.bootstrap_samples(dataset, self.number_of_learners, points_per_sample))
def train(self, dataset): def train_trees(examples_subset): #select a subset of dimensions dims = random_subset(self.number_of_dimensions, examples_subset.num_attributes()) subset_input = examples_subset.inputs[dims, :] reduced_sample = Dataset(subset_input, examples_subset.outputs) tree = DecisionTree(reduced_sample) tree.dimensions_subset = dims return tree if self.number_of_dimensions == None: self.number_of_dimensions = min( np.log2(dataset.num_attributes()) + 1, 1) points_per_sample = dataset.num_examples() * 1.0 / 3.0 in_bags, out_bags = ds.bootstrap_samples(dataset, self.number_of_learners, points_per_sample) self.learners = map(train_trees, in_bags)