Exemplo n.º 1
0
 def test_proportion_multiple(self):
     data = np.array([[True, False, True, True] * 10] * 3)
     expected_values = np.count_nonzero(data, axis=1)
     expected_values = np.divide(expected_values, np.size(data, axis=1))
     self.set_seed()
     value = DiffPrivStatistics.proportion(data, self.epsilon, axis=1)
     np.testing.assert_almost_equal(value, expected_values, self.decimal_places)
Exemplo n.º 2
0
 def test_proportion_single(self):
     data = np.array([True, False, True, True] * 10)
     expected_value = np.count_nonzero(data)
     expected_value = np.divide(expected_value, np.size(data))
     self.set_seed()
     value = DiffPrivStatistics.proportion(data, self.epsilon)
     self.assertAlmostEqual(value, expected_value, self.decimal_places)
Exemplo n.º 3
0
    def test_proportion_single_with_condition(self):
        data = np.array([0.1, -0.1, 0.1, 0.1] * 10)
        expected_value = np.count_nonzero(data >= 0)
        expected_value = np.divide(expected_value, np.size(data))

        def condition(data):
            return data >= 0.0

        self.set_seed()
        value = DiffPrivStatistics.proportion(data, self.epsilon, condition=condition)
        self.assertAlmostEqual(value, expected_value, self.decimal_places)
Exemplo n.º 4
0
    def test_proportion_multiple_with_condition(self):
        data = np.array([[0.1, -0.1, 0.1, 0.1] * 10] * 3)
        expected_values = np.count_nonzero(data >= 0.0, axis=1)
        expected_values = np.divide(expected_values, np.size(data, axis=1))

        def condition(data):
            return data >= 0.0

        self.set_seed()
        value = DiffPrivStatistics.proportion(
            data, self.epsilon, condition=condition, axis=1
        )
        np.testing.assert_almost_equal(value, expected_values, self.decimal_places)