def apply(self): common_args = dict() common_args["n_estimators"] = self.n_estimators if self.use_max_features: common_args["max_features"] = self.max_features if self.use_random_state: common_args["random_state"] = self.random_state if self.use_max_depth: common_args["max_depth"] = self.max_depth if self.use_max_leaf_nodes: common_args["max_leaf_nodes"] = self.max_leaf_nodes learner = RandomForestLearner( preprocessors=self.preprocessors,**common_args ) learner.name = self.learner_name classifier = None if self.data is not None: self.error(0) if not learner.check_learner_adequacy(self.data.domain): self.error(0, learner.learner_adequacy_err_msg) else: classifier = learner(self.data) classifier.name = self.learner_name self.send("Learner", learner) self.send("Classifier", classifier)