Ejemplo n.º 1
0
    def test_remove_discrete(self):
        d1, d2, d3 = (DiscreteVariable(c, values=tuple("123")) for c in "abc")
        c1, c2 = (ContinuousVariable(c) for c in "xy")
        t = StringVariable("t")
        domain = Domain([d1, c1], d2, [c2, d3, t])
        data = Table.from_domain(domain, 5)

        reduced = distance.remove_discrete_features(data)
        self.assertEqual(reduced.domain.attributes, (c1, ))
        self.assertEqual(reduced.domain.class_var, d2)
        self.assertEqual(reduced.domain.metas, (c2, d3, t))

        reduced = distance.remove_discrete_features(data, to_metas=True)
        self.assertEqual(reduced.domain.attributes, (c1, ))
        self.assertEqual(reduced.domain.class_var, d2)
        self.assertEqual(reduced.domain.metas, (c2, d3, t, d1))
 def _fix_discrete():
     nonlocal data
     if data.domain.has_discrete_attributes() and (
             issparse(data.X) and getattr(metric, "fallback", None)
             or not metric.supports_discrete or self.axis == 1):
         if not data.domain.has_continuous_attributes():
             self.Error.no_continuous_features()
             return False
         self.Warning.ignoring_discrete()
         data = distance.remove_discrete_features(data)
Ejemplo n.º 3
0
 def _fix_discrete():
     nonlocal data
     if data.domain.has_discrete_attributes() and (
             issparse(data.X) and getattr(metric, "fallback", None)
             or not metric.supports_discrete
             or self.axis == 1):
         if not data.domain.has_continuous_attributes():
             self.Error.no_continuous_features()
             return False
         self.Warning.ignoring_discrete()
         data = distance.remove_discrete_features(data)