Exemplo n.º 1
0
 def test_class_distribution(self):
     d = data.Table("zoo")
     disc = distribution.class_distribution(d)
     self.assertIsInstance(disc, np.ndarray)
     self.assertIs(disc.variable, d.domain["type"])
     self.assertEqual(disc.unknowns, 0)
     np.testing.assert_array_equal(disc, [4.0, 20.0, 13.0, 8.0, 10.0, 41.0, 5.0])
Exemplo n.º 2
0
 def test_class_distribution(self):
     d = data.Table("zoo")
     disc = distribution.class_distribution(d)
     self.assertIsInstance(disc, np.ndarray)
     self.assertIs(disc.variable, d.domain["type"])
     self.assertEqual(disc.unknowns, 0)
     assert_dist_equal(disc, [4.0, 20.0, 13.0, 8.0, 10.0, 41.0, 5.0])
Exemplo n.º 3
0
    def test_indexing(self):
        d = data.Table("zoo")
        indamphibian = d.domain.class_var.to_val("amphibian")

        disc = distribution.class_distribution(d)

        self.assertEqual(len(disc), len(d.domain.class_var.values))

        self.assertEqual(disc["mammal"], 41)
        self.assertEqual(disc[indamphibian], 4)

        disc["mammal"] = 100
        self.assertEqual(disc[d.domain.class_var.to_val("mammal")], 100)

        disc[indamphibian] = 33
        self.assertEqual(disc["amphibian"], 33)

        disc = distribution.class_distribution(d)
        self.assertEqual(list(disc), self.freqs)
Exemplo n.º 4
0
    def test_indexing(self):
        d = data.Table("zoo")
        indamphibian = d.domain.class_var.to_val("amphibian")

        disc = distribution.class_distribution(d)

        self.assertEqual(len(disc), len(d.domain.class_var.values))

        self.assertEqual(disc["mammal"], 41)
        self.assertEqual(disc[indamphibian], 4)

        disc["mammal"] = 100
        self.assertEqual(disc[d.domain.class_var.to_val("mammal")], 100)

        disc[indamphibian] = 33
        self.assertEqual(disc["amphibian"], 33)

        disc = distribution.class_distribution(d)
        self.assertEqual(list(disc), self.freqs)
Exemplo n.º 5
0
 def test_multiple_target_variables(self):
     d = data.Table.from_numpy(
         data.Domain(
             attributes=[data.ContinuousVariable("n1")],
             class_vars=[
                 data.DiscreteVariable("c1", values=["r", "g", "b", "a"]),
                 data.DiscreteVariable("c2", values=["r", "g", "b", "a"]),
                 data.DiscreteVariable("c3", values=["r", "g", "b", "a"]),
             ],
         ),
         X=np.array([range(5)]).T,
         Y=np.array([[0, 1, 2, 3, 4], [0, 1, 2, 3, 4], [0, 1, 2, 3, 4]]).T,
     )
     dists = distribution.class_distribution(d)
     self.assertEqual(len(dists), 3)
     self.assertTrue(
         all(isinstance(dist, distribution.Discrete) for dist in dists))
Exemplo n.º 6
0
 def test_multiple_target_variables(self):
     d = data.Table.from_numpy(data.Domain(
         attributes=[data.ContinuousVariable('n1')],
         class_vars=[
             data.DiscreteVariable('c1', values=('r', 'g', 'b', 'a')),
             data.DiscreteVariable('c2', values=('r', 'g', 'b', 'a')),
             data.DiscreteVariable('c3', values=('r', 'g', 'b', 'a')),
         ]),
                               X=np.array([range(5)]).T,
                               Y=np.array([
                                   [0, 1, 2, 3, 4],
                                   [0, 1, 2, 3, 4],
                                   [0, 1, 2, 3, 4],
                               ]).T)
     dists = distribution.class_distribution(d)
     self.assertEqual(len(dists), 3)
     self.assertTrue(
         all(isinstance(dist, distribution.Discrete) for dist in dists))
Exemplo n.º 7
0
 def test_multiple_target_variables(self):
     d = data.Table.from_numpy(
         data.Domain(
             attributes=[data.ContinuousVariable('n1')],
             class_vars=[
                 data.DiscreteVariable('c1', values=['r', 'g', 'b', 'a']),
                 data.DiscreteVariable('c2', values=['r', 'g', 'b', 'a']),
                 data.DiscreteVariable('c3', values=['r', 'g', 'b', 'a']),
             ]
         ),
         X=np.array([range(5)]).T,
         Y=np.array([
             [0, 1, 2, 3, 4],
             [0, 1, 2, 3, 4],
             [0, 1, 2, 3, 4],
         ]).T
     )
     dists = distribution.class_distribution(d)
     self.assertEqual(len(dists), 3)
     self.assertTrue(all(isinstance(dist, distribution.Discrete) for dist in dists))
Exemplo n.º 8
0
    def test_from_table(self):
        d = data.Table("zoo")
        disc = distribution.Discrete(d, "type")
        self.assertIsInstance(disc, np.ndarray)
        self.assertIs(disc.variable, d.domain["type"])
        self.assertEqual(disc.unknowns, 0)
        assert_dist_equal(disc, self.freqs)

        disc2 = distribution.Discrete(d, d.domain.class_var)
        self.assertIsInstance(disc2, np.ndarray)
        self.assertIs(disc2.variable, d.domain.class_var)
        self.assertEqual(disc, disc2)

        disc3 = distribution.Discrete(d, len(d.domain.attributes))
        self.assertIsInstance(disc3, np.ndarray)
        self.assertIs(disc3.variable, d.domain.class_var)
        self.assertEqual(disc, disc3)

        disc5 = distribution.class_distribution(d)
        self.assertIsInstance(disc5, np.ndarray)
        self.assertIs(disc5.variable, d.domain.class_var)
        self.assertEqual(disc, disc5)
Exemplo n.º 9
0
    def test_from_table(self):
        d = data.Table("zoo")
        disc = distribution.Discrete(d, "type")
        self.assertIsInstance(disc, np.ndarray)
        self.assertIs(disc.variable, d.domain["type"])
        self.assertEqual(disc.unknowns, 0)
        np.testing.assert_array_equal(disc, self.freqs)

        disc2 = distribution.Discrete(d, d.domain.class_var)
        self.assertIsInstance(disc2, np.ndarray)
        self.assertIs(disc2.variable, d.domain.class_var)
        self.assertEqual(disc, disc2)

        disc3 = distribution.Discrete(d, len(d.domain.attributes))
        self.assertIsInstance(disc3, np.ndarray)
        self.assertIs(disc3.variable, d.domain.class_var)
        self.assertEqual(disc, disc3)

        disc5 = distribution.class_distribution(d)
        self.assertIsInstance(disc5, np.ndarray)
        self.assertIs(disc5.variable, d.domain.class_var)
        self.assertEqual(disc, disc5)