def test_coef_table_multiple(self): data = Table("zoo") learn = LogisticRegressionLearner() classifier = learn(data) coef_table = create_coef_table(classifier) self.assertEqual(1, len(stats(coef_table.metas, None))) self.assertEqual(len(coef_table), len(classifier.domain.attributes) + 1) self.assertEqual(len(coef_table[0]), len(classifier.domain.class_var.values))
def test_coef_table_single(self): data = Table("titanic") learn = LogisticRegressionLearner() classifier = learn(data) coef_table = create_coef_table(classifier) self.assertEqual(1, len(stats(coef_table.metas, None))) self.assertEqual(len(coef_table), len(classifier.domain.attributes) + 1) self.assertEqual(len(coef_table[0]), 1)
def test_coef_table_single(self): data = Table("titanic") learn = LogisticRegressionLearner() classifier = learn(data) coef_table = create_coef_table(classifier) self.assertEqual(1, len(stats(coef_table.metas, None))) self.assertEqual(len(coef_table), len(classifier.domain.attributes) + 1) self.assertEqual(len(coef_table[0]), 1)
def test_coef_table_multiple(self): data = Table("zoo") learn = LogisticRegressionLearner() classifier = learn(data) coef_table = create_coef_table(classifier) self.assertEqual(1, len(stats(coef_table.metas, None))) self.assertEqual(len(coef_table), len(classifier.domain.attributes) + 1) self.assertEqual(len(coef_table[0]), len(classifier.domain.class_var.values))
def update_model(self): super().update_model() coeffs = None if self.model is not None: if self.model.domain.class_var.is_discrete: coeffs = create_coef_table(self.model) else: attrs = [ContinuousVariable("coef", number_of_decimals=7)] domain = Domain(attrs, metas=[StringVariable("name")]) cfs = list(self.model.intercept) + list(self.model.coefficients) names = ["intercept"] + \ [attr.name for attr in self.model.domain.attributes] coeffs = Table(domain, list(zip(cfs, names))) coeffs.name = "coefficients" self.Outputs.coefficients.send(coeffs)