blob: ea23cdb22d05ccc4e2bfa40b1e59a0ddde782dde [file] [log] [blame]
#!/usr/bin/python
#
# Copyright 2015 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Tests for metrics."""
import numpy as np
from tensorflow.python.platform import googletest
from biology import metrics
class MetricsTest(googletest.TestCase):
def test_kappa_score(self):
y_true = [1, 0, 1, 0]
y_pred = [0.8, 0.2, 0.3, 0.4] # [1, 0, 0, 0] with 0.5 threshold
kappa = metrics.kappa_score(y_true, np.greater(y_pred, 0.5))
observed_agreement = 3.0 / 4.0
expected_agreement = ((2 * 1) + (2 * 3)) / 4.0 ** 2
expected_kappa = np.true_divide(observed_agreement - expected_agreement,
1.0 - expected_agreement)
self.assertAlmostEquals(kappa, expected_kappa)
if __name__ == '__main__':
googletest.main()