consensus_score#

sklearn.metrics.consensus_score(a, b, *, similarity='jaccard')[source]#

The similarity of two sets of biclusters.

Similarity between individual biclusters is computed. Then the best matching between sets is found by solving a linear sum assignment problem, using a modified Jonker-Volgenant algorithm. The final score is the sum of similarities divided by the size of the larger set.

Read more in the User Guide.

Parameters:
atuple (rows, columns)

Tuple of row and column indicators for a set of biclusters.

btuple (rows, columns)

Another set of biclusters like a.

similarity‘jaccard’ or callable, default=’jaccard’

May be the string “jaccard” to use the Jaccard coefficient, or any function that takes four arguments, each of which is a 1d indicator vector: (a_rows, a_columns, b_rows, b_columns).

Returns:
consensus_scorefloat

Consensus score, a non-negative value, sum of similarities divided by size of larger set.

See also

scipy.optimize.linear_sum_assignment

Solve the linear sum assignment problem.

References

Examples

>>> from sklearn.metrics import consensus_score
>>> a = ([[True, False], [False, True]], [[False, True], [True, False]])
>>> b = ([[False, True], [True, False]], [[True, False], [False, True]])
>>> consensus_score(a, b, similarity='jaccard')
np.float64(1.0)