Beispiel #1
0
def graphbased_trueskill(g,iter_times = 15,n_sigma = 3,threshold = 0.95):
	from s_c_c import scc_nodes_edges
	
	relative_scores = trueskill_ratings(list(g.edges()),iter_times = iter_times,n_sigma = n_sigma,threshold = threshold)
	scc_nodes,scc_edges,nonscc_nodes,nonscc_edges = scc_nodes_edges(g)
	print("scc")
	scc_accu = measure_pairs_agreement(scc_edges,relative_scores)
	print("non-scc")
	nonscc_accu = measure_pairs_agreement(nonscc_edges,relative_scores)
	print("scc accu: %0.4f, nonscc accu: %0.4f" % (scc_accu,nonscc_accu))
	return relative_scores
Beispiel #2
0
def trueskill_ratings(pairs,iter_times = 15,n_sigma = 3,threshold = 0.85):
	start = datetime.now()
	players = {}
	for i in xrange(iter_times):
		#print("========= Trueskill iteration times: %d =========" % (i + 1))
		players = compute_trueskill(pairs,players)
		relative_scores = get_players_score(players,n_sigma = n_sigma)
		accu = measure_pairs_agreement(pairs,relative_scores)
		#print("agreement of pairs: %0.4f" % accu)
		if accu >= threshold:
			return relative_scores
	end = datetime.now()
	time_used = end - start
	print("time used in computing true skill: %0.4f s, iteration time is: %i" % ((time_used.seconds),(i+1)))
	return relative_scores