def test__compute_probabilities(self):
lists = [[1, 2], [2, 3]]
b = il.Optimized(lists, sample_num=3)
rankings = []
r = CreditRanking(num_rankers=len(lists), contents=[1, 2])
r.credits = {0: {1: 1.0, 2: 0.5}, 1: {1: 1.0/3, 2: 1.0}}
rankings.append(r)
r = CreditRanking(num_rankers=len(lists), contents=[2, 1])
r.credits = {0: {1: 1.0, 2: 0.5}, 1: {1: 1.0/3, 2: 1.0}}
rankings.append(r)
r = CreditRanking(num_rankers=len(lists), contents=[2, 3])
r.credits = {0: {2: 0.5, 3: 1.0/3}, 1: {2: 1.0, 3: 0.5}}
rankings.append(r)
is_success, p, minimum = b._compute_probabilities(lists, rankings)
assert is_success
assert (p >= 0).all()
assert (p <= 1).all()
assert minimum >= 0
self.assert_almost_equal(np.sum(p), 1)
self.assert_almost_equal(np.inner([1-1.0/3, -0.5, -0.5], p), 0)
self.assert_almost_equal(np.inner([0.5-1.0/3, 0.5-1.0/3, -1+1.0/3], p), 0)
self.assert_almost_equal(p[0], 0.4285714273469387)
self.assert_almost_equal(p[1], 0.37142857025306114)
self.assert_almost_equal(p[2], 0.20000000240000002)
评论列表
文章目录