예제 #1
0
    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))
예제 #2
0
    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)
예제 #3
0
    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))
예제 #4
0
    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)