def setUp(self): warnings.filterwarnings("ignore", ".*", ConvergenceWarning) self.widget = self.create_widget(OWSGD, stored_settings={"auto_apply": False}) self.init() self.parameters = [ # Loss params for classification ParameterMapping("loss", self.widget.cls_loss_function_combo, list(zip(*self.widget.cls_losses))[1], problem_type="classification"), ParameterMapping("epsilon", self.widget.cls_epsilon_spin, problem_type="classification"), # Loss params for regression ParameterMapping("loss", self.widget.reg_loss_function_combo, list(zip(*self.widget.reg_losses))[1], problem_type="regression"), ParameterMapping("epsilon", self.widget.reg_epsilon_spin, problem_type="regression"), # Shared params ParameterMapping("penalty", self.widget.penalty_combo, list(zip(*self.widget.penalties))[1]), ParameterMapping.from_attribute(self.widget, "alpha"), ParameterMapping.from_attribute(self.widget, "l1_ratio"), ParameterMapping("learning_rate", self.widget.learning_rate_combo, list(zip(*self.widget.learning_rates))[1]), ParameterMapping.from_attribute(self.widget, "eta0"), ParameterMapping.from_attribute(self.widget, "power_t"), ]
def setUp(self): self.widget = self.create_widget(OWPLS, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping('max_iter', self.widget.n_iters), ParameterMapping('n_components', self.widget.ncomps_spin)]
def setUp(self): warnings.filterwarnings("ignore", ".*", ConvergenceWarning) self.widget = self.create_widget( OWSGD, stored_settings={"auto_apply": False}) self.init() self.parameters = [ # Loss params for classification ParameterMapping("loss", self.widget.cls_loss_function_combo, list(zip(*self.widget.cls_losses))[1], problem_type="classification"), ParameterMapping("epsilon", self.widget.cls_epsilon_spin, problem_type="classification"), # Loss params for regression ParameterMapping("loss", self.widget.reg_loss_function_combo, list(zip(*self.widget.reg_losses))[1], problem_type="regression"), ParameterMapping("epsilon", self.widget.reg_epsilon_spin, problem_type="regression"), # Shared params ParameterMapping("penalty", self.widget.penalty_combo, list(zip(*self.widget.penalties))[1]), ParameterMapping.from_attribute(self.widget, "alpha"), ParameterMapping.from_attribute(self.widget, "l1_ratio"), ParameterMapping("learning_rate", self.widget.learning_rate_combo, list(zip(*self.widget.learning_rates))[1]), ParameterMapping.from_attribute(self.widget, "eta0"), ParameterMapping.from_attribute(self.widget, "power_t"), ]
def setUp(self): self.widget = self.create_widget(OWAdaBoostClassification, stored_settings={"auto_apply": False}) self.init() losses = self.widget.losses self.parameters = [ ParameterMapping('algorithm', self.widget.algorithm_combo, losses), ParameterMapping('learning_rate', self.widget.learning_rate_spin), ParameterMapping('n_estimators', self.widget.n_estimators_spin)]
def setUp(self): self.widget = self.create_widget(OWAdaBoostRegression, stored_settings={"auto_apply": False}) self.init() losses = [loss.lower() for loss in self.widget.losses] self.parameters = [ ParameterMapping('loss', self.widget.loss_combo, losses), ParameterMapping('learning_rate', self.widget.learning_rate_spin), ParameterMapping('n_estimators', self.widget.n_estimators_spin)]
def setUp(self): self.widget = self.create_widget(OWKNNRegression, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping('metric', self.widget.metrics_combo, self.widget.metrics), ParameterMapping('weights', self.widget.weights_combo, self.widget.weights), ParameterMapping('n_neighbors', self.widget.n_neighbors_spin)]
def setUp(self): self.widget = self.create_widget(OWRandomForest, stored_settings={"auto_apply": False}) self.init() nest_spin = self.widget.n_estimators_spin nest_min_max = [nest_spin.minimum() * 10, nest_spin.minimum()] self.parameters = [ ParameterMapping("n_estimators", nest_spin, nest_min_max), ParameterMapping("min_samples_split", self.widget.min_samples_split_spin[1]), ]
def setUp(self): self.widget = self.create_widget(OWClassificationTree, stored_settings={"auto_apply": False}) self.init() scores = [score[1] for score in self.widget.scores] self.parameters = [ ParameterMapping('criterion', self.widget.score_combo, scores), ParameterMapping('max_depth', self.widget.max_depth_spin[1]), ParameterMapping('min_samples_split', self.widget.min_internal_spin[1]), ParameterMapping('min_samples_leaf', self.widget.min_leaf_spin[1])]
def test_parameters_svr_type(self): """Check learner and model for various values of all parameters when NuSVR is chosen """ self.assertEqual(self.widget.svrtype, OWSVMRegression.Epsilon_SVR) # setChecked(True) does not trigger callback event self.widget.nu_radio.click() self.assertEqual(self.widget.svrtype, OWSVMRegression.Nu_SVR) self.parameters[0] = ParameterMapping("C", self.widget.nu_C_spin) self.parameters[1] = ParameterMapping("nu", self.widget.nu_spin) self.test_parameters()
def setUp(self): self.widget = self.create_widget(OWKNNLearner, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping("metric", self.widget.metrics_combo, self.widget.metrics), ParameterMapping("weights", self.widget.weights_combo, self.widget.weights), ParameterMapping("n_neighbors", self.widget.n_neighbors_spin), ]
def test_parameters_checked(self): """Check learner and model for various values of all parameters when all properties are checked """ self.widget.max_features_spin[0].setCheckState(True) self.widget.max_depth_spin[0].setCheckState(True) self.parameters.extend([ ParameterMapping("max_features", self.widget.max_features_spin[1]), ParameterMapping("max_depth", self.widget.max_depth_spin[1]) ]) self.test_parameters()
def test_settings(self): """Check neighbors for various distance metrics""" settings = [ParameterMapping("", self.widget.distance_combo, self.widget.DISTANCES), ParameterMapping("", self.widget.nn_spin)] for setting in settings: for val in setting.values: self.send_signal("Data", self.iris) self.send_signal("Reference", self.iris[:10]) setting.set_value(val) self.widget.apply_button.button.click() self.assertIsNotNone(self.get_output("Neighbors"))
def setUp(self): self.widget = self.create_widget(OWGradientBoosting, stored_settings={"auto_apply": False}) self.init() controls = self.widget.editor.controls self.parameters = [ ParameterMapping("n_estimators", controls.n_estimators, [500, 10]), ParameterMapping("learning_rate", controls.learning_rate), ParameterMapping("max_depth", controls.max_depth), ParameterMapping("min_samples_split", controls.min_samples_split), ]
def test_settings(self): """Check neighbors for various distance metrics""" widget = self.widget settings = [ ParameterMapping("", widget.controls.distance_index, METRICS), ParameterMapping("", widget.controls.n_neighbors)] for setting in settings: for val in setting.values: self.send_signal(widget.Inputs.data, self.iris) self.send_signal(widget.Inputs.reference, self.iris[:10]) setting.set_value(val) widget.apply_button.button.click() if METRICS[widget.distance_index][0] != "Jaccard" \ and widget.n_neighbors != 0: self.assertIsNotNone(self.get_output("Neighbors"))
def setUp(self): self.widget = self.create_widget( OWTreeLearner, stored_settings={"auto_apply": False}) self.init() self.model_class = Model self.parameters = [ ParameterMapping.from_attribute(self.widget, 'max_depth'), ParameterMapping.from_attribute( self.widget, 'min_internal', 'min_samples_split'), ParameterMapping.from_attribute( self.widget, 'min_leaf', 'min_samples_leaf')] # NB. sufficient_majority is divided by 100, so it cannot be tested like # this self.checks = [sb.gui_element.cbox for sb in self.parameters]
def setUp(self): self.widget = self.create_widget(OWAdaBoost, stored_settings={"auto_apply": False}) self.init() self.parameters = [ # TODO Due to the way params are tested on the learner and the fact # that learners only receive a subset of these parameters, this # method of testing these parameters is not viable # ParameterMapping('algorithm', self.widget.cls_algorithm_combo, # self.widget.algorithms), # ParameterMapping('loss', self.widget.reg_algorithm_combo, # self.widget.losses), ParameterMapping('learning_rate', self.widget.learning_rate_spin), ParameterMapping('n_estimators', self.widget.n_estimators_spin), ParameterMapping.from_attribute(self.widget, 'random_seed', 'random_state') ]
def setUp(self): self.widget = self.create_widget(OWAdaBoost, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping('algorithm', self.widget.cls_algorithm_combo, self.widget.algorithms, problem_type="classification"), ParameterMapping('loss', self.widget.reg_algorithm_combo, [x.lower() for x in self.widget.losses], problem_type="regression"), ParameterMapping('learning_rate', self.widget.learning_rate_spin), ParameterMapping('n_estimators', self.widget.n_estimators_spin), ParameterMapping.from_attribute(self.widget, 'random_seed', 'random_state') ]
def setUp(self): self.widget = self.create_widget(OWRuleLearner, stored_settings={"auto_apply": False}) self.init() self.radio_button_groups = self.widget.findChildren(QButtonGroup) self.radio_buttons = self.widget.findChildren(QRadioButton) self.spin_boxes = self.widget.findChildren(QSpinBox) self.double_spin_boxes = self.widget.findChildren(QDoubleSpinBox) self.combo_boxes = self.widget.findChildren(QComboBox) self.parameters = [ ParameterMapping("Evaluation measure", self.combo_boxes[0], self.widget.storage_measures), ParameterMapping("Beam width", self.spin_boxes[0]), ParameterMapping("Minimum rule coverage", self.spin_boxes[1]), ParameterMapping("Maximum rule length", self.spin_boxes[2]), ]
def test_xgb_params(self): simulate.combobox_activate_index(self.widget.controls.method_index, 1) editor = self.widget.editor controls = editor.controls reg_slider = controls.lambda_index self.parameters = [ ParameterMapping("n_estimators", controls.n_estimators, [500, 10]), ParameterMapping("learning_rate", controls.learning_rate), ParameterMapping("max_depth", controls.max_depth), ParameterMapping("reg_lambda", reg_slider, values=[editor.LAMBDAS[0], editor.LAMBDAS[-1]], getter=lambda: editor.LAMBDAS[reg_slider.value()], setter=lambda val: reg_slider.setValue( editor.LAMBDAS.index(val))), ] self.test_parameters()
def setUp(self): self.widget = self.create_widget(OWLogisticRegression, stored_settings={"auto_apply": False}) self.init() c_slider = self.widget.c_slider def setter(val): index = self.widget.C_s.index(val) self.widget.C_s[c_slider.value()] c_slider.setValue(index) self.parameters = [ ParameterMapping('penalty', self.widget.penalty_combo, self.widget.penalty_types_short), ParameterMapping('C', c_slider, values=[self.widget.C_s[0], self.widget.C_s[-1]], getter=lambda: self.widget.C_s[c_slider.value()], setter=setter) ]
def setUp(self): self.widget = self.create_widget( OWSVM, stored_settings={"auto_apply": False}) self.init() # All this nonsense is necessary because we add an `auto` option to the # gamma spin box gamma_spin = self.widget._kernel_params[0] values = [self.widget._default_gamma, gamma_spin.maximum()] def getter(): value = gamma_spin.value() return gamma_spin.specialValueText() \ if value == gamma_spin.minimum() else value def setter(value): if value == gamma_spin.specialValueText(): gamma_spin.setValue(gamma_spin.minimum()) else: gamma_spin.setValue(value) self.parameters = [ ParameterMapping("C", self.widget.c_spin), ParameterMapping("gamma", self.widget._kernel_params[0], values=values, setter=setter, getter=getter), ParameterMapping("coef0", self.widget._kernel_params[1]), ParameterMapping("degree", self.widget._kernel_params[2]), ParameterMapping("tol", self.widget.tol_spin), ParameterMapping("max_iter", self.widget.max_iter_spin[1])]
def setUp(self): self.widget = self.create_widget(OWSVMRegression, stored_settings={"auto_apply": False}) self.init() gamma_spin = self.widget._kernel_params[0] values = [self.widget._default_gamma, gamma_spin.maximum()] def getter(): value = gamma_spin.value() return gamma_spin.specialValueText() \ if value == gamma_spin.minimum() else value def setter(value): if value == gamma_spin.specialValueText(): gamma_spin.setValue(gamma_spin.minimum()) else: gamma_spin.setValue(value) self.parameters = [ ParameterMapping("C", self.widget.epsilon_C_spin), ParameterMapping("epsilon", self.widget.epsilon_spin), ParameterMapping("gamma", self.widget._kernel_params[0], values=values, setter=setter, getter=getter), ParameterMapping("coef0", self.widget._kernel_params[1]), ParameterMapping("degree", self.widget._kernel_params[2]), ParameterMapping("tol", self.widget.tol_spin) ]
def setUp(self): self.widget = self.create_widget( OWAdaBoost, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping('algorithm', self.widget.cls_algorithm_combo, self.widget.algorithms, problem_type="classification"), ParameterMapping('loss', self.widget.reg_algorithm_combo, [x.lower() for x in self.widget.losses], problem_type="regression"), ParameterMapping('learning_rate', self.widget.learning_rate_spin), ParameterMapping('n_estimators', self.widget.n_estimators_spin), ParameterMapping.from_attribute( self.widget, 'random_seed', 'random_state')]
def setUp(self): self.widget = self.create_widget(OWSGD, stored_settings={"auto_apply": False}) self.init() self.parameters = [ ParameterMapping('loss', self.widget.cls_loss_function_combo, list(zip(*self.widget.cls_losses))[1]), ParameterMapping.from_attribute(self.widget, 'cls_epsilon', 'epsilon'), ParameterMapping('penalty', self.widget.penalty_combo, list(zip(*self.widget.penalties))[1]), ParameterMapping.from_attribute(self.widget, 'alpha'), ParameterMapping.from_attribute(self.widget, 'l1_ratio'), ParameterMapping('learning_rate', self.widget.learning_rate_combo, list(zip(*self.widget.learning_rates))[1]), ParameterMapping.from_attribute(self.widget, 'eta0'), ParameterMapping.from_attribute(self.widget, 'power_t'), ]
def setUp(self): self.widget = self.create_widget(OWSGD, stored_settings={"auto_apply": False}) self.init() self.parameters = [ # TODO Fix the base tests to support parameter delegation with # different problem types # ParameterMapping('loss', self.widget.loss_function_combo, # list(zip(*self.widget.losses))[1]), # ParameterMapping.from_attribute(self.widget, 'epsilon'), ParameterMapping('penalty', self.widget.penalty_combo, list(zip(*self.widget.penalties))[1]), ParameterMapping.from_attribute(self.widget, 'alpha'), ParameterMapping.from_attribute(self.widget, 'l1_ratio'), ParameterMapping('learning_rate', self.widget.learning_rate_combo, list(zip(*self.widget.learning_rates))[1]), ParameterMapping.from_attribute(self.widget, 'eta0'), ParameterMapping.from_attribute(self.widget, 'power_t'), ]